Debugging in a semiconductor device test environment
First Claim
1. At least one non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed on at least one processor of a computing device, implement a debug method on a device under test (DUT), the method comprising:
- interactively receive debug inputs from at least one human operator through a user interface of the computing device, wherein the debug inputs comprise instructions in a native language of a third party tool;
access a test program, the test program comprising a plurality of test program commands, wherein the debug inputs comprise at least one command to suspend execution of the test program at a predetermined location within the test program; and
control automatic test equipment, comprising a plurality of instruments, to;
select from a plurality of protocols a protocol associated with the DUT based on a response received from the DUT;
generate instrument commands configured to control the plurality of instruments to stimulate a device under test (DUT) and receive responses from the DUT in accordance with the debug inputs and the test program commands, wherein instrument commands are generated, at least in part, based on the selected protocol associated with the DUT, wherein;
generate instrument commands configured to control instruments in accordance with the debug inputs and the test program commands comprises generating instrument commands configured to control instruments to perform test program commands in the test program up until the predetermined location; and
apply the instrument commands to instruments in the automatic test equipment, wherein the instrument commands specify at least one of levels and timing of a signal generated by the instruments.
4 Assignments
0 Petitions
Accused Products
Abstract
A test system that enables real-time interactive debugging of a device under test (DUT) using native customer code. A translation module may format, in real time, debug commands, corresponding to a user input, into a format recognizable by instruments in a tester. The user input may be a test program or test instructions written in a high-level programming language. The translation module may translate the user'"'"'s debug commands into lower-level test instrument commands, based on which the tester may apply control signals to a processor in the DUT to test subsystems of the DUT. A result of the test may be provided to the translation module, which may, in real time, format another debug command, or provide an indication of the result to the user. The translation module may thus enable a user to step-through and modify native customer code in an interactive manner to debug a DUT.
48 Citations
26 Claims
-
1. At least one non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed on at least one processor of a computing device, implement a debug method on a device under test (DUT), the method comprising:
-
interactively receive debug inputs from at least one human operator through a user interface of the computing device, wherein the debug inputs comprise instructions in a native language of a third party tool; access a test program, the test program comprising a plurality of test program commands, wherein the debug inputs comprise at least one command to suspend execution of the test program at a predetermined location within the test program; and control automatic test equipment, comprising a plurality of instruments, to; select from a plurality of protocols a protocol associated with the DUT based on a response received from the DUT; generate instrument commands configured to control the plurality of instruments to stimulate a device under test (DUT) and receive responses from the DUT in accordance with the debug inputs and the test program commands, wherein instrument commands are generated, at least in part, based on the selected protocol associated with the DUT, wherein; generate instrument commands configured to control instruments in accordance with the debug inputs and the test program commands comprises generating instrument commands configured to control instruments to perform test program commands in the test program up until the predetermined location; and apply the instrument commands to instruments in the automatic test equipment, wherein the instrument commands specify at least one of levels and timing of a signal generated by the instruments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating automatic test equipment to test a device under test (DUT), the method comprising:
-
with at least one debug tool, receiving user input with a user computer executing a design engineering tool and, in response to the user input, generating a plurality of debug commands; receiving the plurality of debug commands at an application programming interface; within the application programming interface, formatting, in real time, the plurality of debug commands in a first programming language independent of the DUT for application to a test system, wherein the formatted debug commands comprise at least one instruction specifying a non-deterministic operation; applying the formatted commands to the automatic test equipment; and within the automatic test equipment, generating a plurality of instrument commands in accordance to the formatted commands and controlling one or more instruments to stimulate a device under test and measure responses of the device under test in accordance with the plurality of instrument commands and protocol information associated with a device under test, wherein the instrument commands specify at least one of levels and timing of a signal generated by the instruments, wherein controlling the one or more instruments comprises generating commands in a second programming language configured to control the one or more instruments to generate or measure signals at the DUT. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A test apparatus comprising:
-
a plurality of instruments disposed within automatic test equipment, each of the instruments configured to generate and/or measure at least one signal for application to a device under test; a tester control module within the automatic test equipment, the tester control module comprising an input, wherein the tester control module comprises a protocol aware engine configured to generate, in real time, control signals that control the plurality of instruments to generate and/or measure at least one non-deterministic signal for application to the device under test based on instrument commands received through the input, wherein the instrument commands specify at least one of levels and timing of a signal generated by the instruments; and at least one processor configured to implement; a debugger module, the debugger module comprising an interface, wherein the debugger module is configured to execute at least one debug tool in response to information received through the interface to generate debug commands; and a translation module coupled between the debugger module and the tester control module, wherein the translation module is configured to; receive a first set of debug commands from the debugger module; generate, based on the first set, a second set of instrument commands; apply the second set to the input of the tester control module in real time in relation to receipt of the first set of debug commands; and convert information from the tester control module into a format of the debugger module indicating a result of applying the second set of debug commands. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification