Test apparatus and information processing system

Provided is a test apparatus that tests a device under test, comprising a test unit that sends and receives signals to and from the device under test; a control apparatus that controls the test unit; and a relay apparatus that relays between the control apparatus and the test unit. The relay apparatus includes a first communicating section that receives a command from the control apparatus to the relay apparatus and transmits the command to the test unit; a second communicating section that receives a return command that is transmitted back to the relay apparatus by the test unit that received the command; and an executing section that executes a process designated by the return command, in response to the second communicating section receiving the return command.

BACKGROUND

1. Technical Field

The present invention relates to a test apparatus and an information processing system for testing a device under test.

2. Related Art

A test apparatus for testing a semiconductor device or the like includes one or more test units and a control apparatus. Each test unit supplies a test signal to the device under test.

The control apparatus can be realized as a computer connected to the test units via a serial communication cable or the like. The control apparatus issues a command to each of the test units to control the test units. Furthermore, this test apparatus includes, near the control apparatus, a timer apparatus or the like that is frequently accessed by the control apparatus.

One idea considered here is a sequence that involves the timer apparatus beginning to measure time at a timing when a test unit begins a prescribed process, and after a set time has passed, having the test unit begin another process. In this case, the control apparatus issues a command to the test unit to begin the prescribed process, then issues a timer initiation command instructing the timer apparatus to begin measuring time, and finally, after the set time has passed, issues a command to the test unit to begin another process.

When performing this sequence, however, if the propagation time of a command from the control apparatus to the test unit is longer than the propagation time of a command from the control apparatus to the timer apparatus, the timer apparatus begins measuring time before the test unit begins the prescribed process. Accordingly, when performing this sequence, the order of execution of the processes by the test unit and the timer apparatus may not match the order of the commands issued by the control apparatus.

One idea for solving this problem involves issuing a read command to the test unit after the command for the test unit to begin the prescribed process and before the timer initiation command, and then issuing the timer initiation command after receiving from the test unit the data read in response to the read command. As a result, the command issued to the test unit before the timer initiation command ensures that the test unit will already have begun the process. In other words, the order of execution of the processes by the test unit and the timer apparatus can be made the same as the order of the commands issued by the control apparatus.

However, the control apparatus that issues the read command cannot issue another command until receiving from the test unit the data read in response to the read command. Accordingly, when a read command to the test unit is inserted before the timer initiation command, the control apparatus cannot eliminate the pointless wait time.

SUMMARY

Therefore, it is an object of an aspect of the innovations herein to provide a test apparatus and an information processing system, which are capable of overcoming the above drawbacks accompanying the related art. The above and other objects can be achieved by combinations described in the independent claims. The dependent claims define further advantageous and exemplary combinations of the innovations herein.

According to a first aspect related to the innovations herein, provided is a test apparatus that tests a device under test, comprising a test unit that sends and receives signals to and from the device under test; a control apparatus that controls the test unit; and a relay apparatus that relays between the control apparatus and the test unit. The relay apparatus includes a first communicating section that receives a command from the control apparatus to the relay apparatus and transmits the command to the test unit; a second communicating section that receives a return command that is transmitted back to the relay apparatus by the test unit that received the command; and an executing section that executes a process designated by the return command, in response to the second communicating section receiving the return command.

According to a second aspect related to the innovations herein, provided is an information processing system comprising a processing unit; a control apparatus that controls the processing unit; and a relay apparatus that relays between the control apparatus and the processing unit. The relay apparatus includes a first communicating section that receives a command from the control apparatus to the relay apparatus and transmits the command to the processing unit; a second communicating section that receives a return command that is transmitted back to the relay apparatus by the processing unit that received the command; and an executing section that executes a process designated by the return command, in response to the second communicating section receiving the return command.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG. 1shows a configuration of a test apparatus10according to an embodiment of the present invention. The test apparatus10tests a device under test such as a semiconductor device. The test apparatus10includes one or more test units12, a control apparatus14, and a relay apparatus16.

Each test unit12sends and receives signals to and from the device under test. For example, each test unit12may supply the device under test with a test signal having a waveform corresponding to a test pattern, and judge acceptability of the device under test by comparing a response signal from the device under test to a logic value corresponding to an expected value pattern.

The control apparatus14provides a command to each of the one or more test units12to control the test units12. The control apparatus14may be realized as a computer that functions as the control apparatus14by executing a program.

The relay apparatus16relays commands and responses between the control apparatus14and the one or more test units12. For example, one or more transmission lines22, which each have a length of several meters, may be connected between the relay apparatus16and one or more test units12to transmit serial data. A tester bus24may be connected between the control apparatus14and the relay apparatus16to transmit parallel data.

FIG. 2shows configurations of test unit12and the relay apparatus16according to the present embodiment. The relay apparatus16includes a first communicating section32, a second communicating section34, an executing section36, and a bus IF section38.

The first communicating section32receives from the control apparatus14commands transmitted from the control apparatus14to the test unit12. The first communicating section32generates packets including the received commands. The first communicating section32transmits each of the generated packets to the transmission line22connected to the test unit12that is the transmission destination for the packet, via the bus IF section38.

The second communicating section34receives, via the bus IF section38, packets transmitted from the one or more test units12. The second communicating section34extracts commands or responses to commands transmitted thereto included in the packets. The second communicating section34transmits to the control apparatus14the extracted commands or responses.

The executing section36receives commands provided to the relay apparatus16, and performs the processes designated by the commands. For example, the executing section36may perform a timer operation or a counter operation.

When performing a timer operation, the executing section36begins measuring time upon receiving a time initiation command. The executing section36stops measuring time after a predetermined set time has passed from when time measurement was begun. When time measurement is finished, the executing section36may write information such as a flag indicating that time measurement is finished to a register, and supply an interrupt to the source that issued the timer initiation command. The executing section36may continue measuring time until a timer end command or a timer pause command is provided thereto.

The bus IF section38converts the data transmitted from the relay apparatus16to the test unit12, from a format such as parallel data that can be handled by the relay apparatus16to a format such as serial data that can be transmitted on the transmission line22. The bus IF section38also converts data sent from the test unit12to the relay apparatus16, from a format such as serial data that can be transmitted on the transmission line22to a format such as parallel data that can be handled by the relay apparatus16.

The one or more test units12each include a functional testing section42, a DC testing section44, a bus IF section46, and a sending/receiving section48. The functional testing section42performs functional testing on the device under test. The functional testing section42operates according to a command received from the control apparatus14.

The DC testing section44supplies DC power supply voltage to the device under test. The DC testing section44performs DC testing on the device under test. The DC testing section44operates according to a command from the control apparatus14.

The bus IF section46converts the data transmitted from the test unit12to the relay apparatus16, from a format such as parallel data that can be handled by the test unit12to a format such as serial data that can be transmitted on the transmission line22. The bus IF section46converts the data transmitted from the relay apparatus16to the test unit12, from a format such as serial data that can be transmitted on the transmission line22to a format such as parallel data that can be handled by the test unit12.

The sending/receiving section48receives, from the relay apparatus16via the bus IF section46, packets including commands or responses sent from the control apparatus14to the test unit12. The sending/receiving section48extracts the commands or responses included in the packets. The sending/receiving section48transmits the extracted commands or responses to the functional testing section42or the DC testing section44.

The sending/receiving section48receives commands or responses to be transmitted from the functional testing section42and the DC testing section44to the control apparatus14. The sending/receiving section48generates packets including the received commands or responses. The sending/receiving section48transmits the generated packets to the relay apparatus16via the bus IF section46.

Upon receiving commands from the control apparatus14causing the executing section36to perform processes, such as a timer initiation command or a counter initiation command, the relay apparatus16and the test unit12having the configurations described above operate in the following manner. First, the first communicating section32of the relay apparatus16receives a command transmitted from the control apparatus14to the relay apparatus16.

Upon receiving the command issued from the control apparatus14to the relay apparatus16, the first communicating section32then generates a packet including the command and transmits the packet to the test unit12. In this case, the first communicating section32may transmit the packet including the command to one test unit12, or may transmit the packet including the command to each of a plurality of test units12connected to the relay apparatus16.

Next, upon receiving the command from the relay apparatus16, the sending/receiving section48of the test unit12generates a return command for returning the received command to the relay apparatus16. The sending/receiving section48generates a packet including the return command and transmits the packet back to the relay apparatus16.

Next, upon receiving the packet including the return command, the second communicating section34of the relay apparatus16supplies the executing section36with the return command included in the received packet. The executing section36performs the process designated by the return command, such as a timer operation or a counter operation, in response to the second communicating section34receiving the return command. When the first communicating section32transmits commands to a plurality of test units12, the executing section36may execute the process designated by the return command in response to return commands being received from all of the test units12.

In this way, when a command indicating execution initiation is transmitted from the control apparatus14to the to the executing section36in the relay apparatus16, the relay apparatus16initiates execution by the executing section36after receiving this command that is transmitted to and returned from the test unit12. As a result, even when the command propagation time from the control apparatus14to the test unit12is longer than the command propagation time from the control apparatus14to the executing section36, the test apparatus10can cause the execution order of the commands by the test unit12and the executing section36to match the execution issuance order of commands by the control apparatus14.

Furthermore, the control apparatus14preferably issues write commands as the commands instructing the executing section36in the relay apparatus16to begin execution. As a result, the control apparatus14can execute other processes and issue subsequent commands after issuing this command, and can therefore cause the relay apparatus16to operate without incurring a pointless wait time.

Upon receiving from the control apparatus14a read command for reading the result of a process executed by the executing section36, such as a timer read command or a counter read command, the relay apparatus16having the configuration described above operates in the following manner. First, the first communicating section32of the relay apparatus16receives a read command for reading an execution result of the executing section36transmitted from the control apparatus14.

Next, the executing section36sends the execution result back to the control apparatus14via the second communicating section34, in response to the first communicating section32receiving the read command. The relay apparatus16may perform the same processes upon receiving, instead of a read command for reading an execution result, a setting command for setting a value in the executing section36or a pause command for temporarily stopping the process of the executing section36.

In this way, when a read command is transmitted from the control apparatus14to the executing section36in the relay apparatus16, the relay apparatus16sends a response corresponding to the read command back to the control apparatus14, without transferring the response to the test unit12. As a result, the test apparatus10can send a response to the read command back to the control apparatus14in a short time.

FIG. 3shows exemplary propagation of a write command issued to the test unit12by the control apparatus14. InFIG. 3, the vertical axis represents time and the horizontal axis represents the propagation position of the command at each time.FIGS. 4 to 7use the same format.

InFIG. 3, commands beginning with “swt” represent write commands for writing data to a designated address in a storage apparatus. The term “TH1 PG” following the “swt” in the write commands represents an address designating the location to write the data to. The term “DATA1” following the address, e.g. “TH1 PG,” in the write commands represents the data to be written.FIGS. 4 to 7use the same format.

The write command shown inFIG. 3is issued by the control apparatus14. The write command issued by the control apparatus14is sequentially transmitted in the following order: control apparatus14→relay apparatus16→sending/receiving section48of the test unit12→functional testing section42of the test unit12. Upon receiving the write command, the functional testing section42of the test unit12writes the data contained in the write command to the designated address.

Upon issuing the write command, the control apparatus14can then perform a subsequent process immediately after the write command is issued. Accordingly, in the example ofFIG. 3, the control apparatus14can perform other processes from time2onward.

FIG. 4shows exemplary propagation of a read command issued to the test unit12by the control apparatus14. InFIG. 4, commands beginning with “srd” represent read commands for reading data from a designated address in a storage apparatus. The term “TH1 PG” following the “srd” in the read commands represents an address designating the location to read the data from. InFIG. 4, the command included in “DATA” following “srd TH1 PG” represents a response corresponding to the read command. In this case, “DATA” represents data read in response to the read command.FIGS. 5 to 7use the same format.

The read command shown inFIG. 4is issued by the control apparatus14. The read command issued by the control apparatus14is sequentially transmitted in the following order: control apparatus14→relay apparatus16→sending/receiving section48of the test unit12→functional testing section42of the test unit12. Upon receiving the read command, the functional testing section42of the test unit12reads the data from the address indicated by the read command, and issues a response that contains the read data. The response issued by the functional testing section42of the test unit12is sequentially transmitted in the following order: functional testing section42of the test unit12→sending/receiving section48of the test unit12→relay apparatus16→control apparatus14.

Upon issuing the read command, the control apparatus14cannot perform a subsequent process until the response is received. Accordingly, in the present example, the control apparatus14cannot perform processes from time2to time13.

FIG. 5shows a first exemplary propagation of a timer initiation command issued to the relay apparatus16by the control apparatus14. InFIG. 5, the command labeled “swt TimerStart” represents a write command for the executing section36in the relay apparatus16to begin the timer operation.FIG. 7uses the same labeling.

The timer initiation command shown inFIG. 5is issued by the control apparatus14. The timer initiation command issued by the control apparatus14is transmitted from the control apparatus14to the relay apparatus16. Upon receiving the timer initiation command, the relay apparatus16transmits the timer initiation command to the test unit12.

Next, upon receiving the timer initiation command from the relay apparatus16, the sending/receiving section48of the test unit12sends the received command back to the relay apparatus16as a return command. The executing section36of the relay apparatus16begins the timer operation in response to receiving the return command from the test unit12.

With the test apparatus10described above, an issued timer initiation command does not reach the executing section36of the relay apparatus16prior to a command issued after this timer initiation command reaching the test unit12. As a result, the test apparatus10can cause the execution order of the commands by the test unit12and the executing section36to match the execution issuance order of commands by the control apparatus14.

Furthermore, the control apparatus14issues the timing initiation command as a write command. Accordingly, the control apparatus14can perform a subsequent process immediately after issuing the timer initiation command. Accordingly, the test apparatus10can begin the timer operation without the control apparatus14incurring a pointless wait time. When operations other than the timer operation, such as the counter operation, are begun by the executing section36of the relay apparatus16, the test apparatus10transmits commands similar to the timer initiation commands.

FIG. 6shows a first exemplary propagation of a timer read command issued to the relay apparatus16by the control apparatus14. InFIG. 6, the command labeled “srd TimerRead” represents a timer read command for the executing section36in the relay apparatus16to read the time measurement result.

The timer read command shown inFIG. 6is issued by the control apparatus14. The timer read command issued by the control apparatus14is transmitted from the control apparatus14to the relay apparatus16. Upon receiving the timer read command, the relay apparatus16reads the current time measurement result of the timer and issues a response that includes the read data. The response issued by the relay apparatus16is transmitted to the control apparatus14.

In this way, when the control apparatus14reads a time measurement result of the timer, the relay apparatus16responds directly without transmitting a command to the test unit12. As a result, the control apparatus14can read the time measurement results of the timer in a short time. When setting an initial value of the timer, halting the timer operation, or the like, the control apparatus14may issue read commands similar to the timer read command.

FIG. 7shows a second exemplary propagation of a timer initiation command issued to the relay apparatus16by the control apparatus14. When the test apparatus10includes a plurality of test units12, the timer initiation command issued by the control apparatus14may be propagated as shown inFIG. 7, instead of as shown inFIG. 5.

In other words, upon receiving the timer initiation command from the control apparatus14, the relay apparatus16transmits the timer initiation command to each of the test units12. Next, upon receiving the timer initiation command from the relay apparatus16, the sending/receiving sections48of the test units12each send the received command back to the relay apparatus16as a return command.

The executing section36of the relay apparatus16begins the timer operation in response to receiving the return commands from all of the test units12. As a result, even when the command propagation time from the relay apparatus16to each of the test units12is different, the test apparatus10can cause the execution order of the commands by the test units12and the executing section36to match the issuance order of commands by the control apparatus14.

The technology described via the above embodiments is not limited to use in a test apparatus10, and can be applied in a common information processing system. For example, the technology described via the above embodiments can be applied in an information processing system that includes one or more processing units that process information, a control apparatus that controls the processing units, and a relay apparatus that relays between the control apparatus and the processing units. In this case, the processing units of the information processing system have the same function and configuration as the test units12according to the above embodiments, the control apparatus of the information processing system has the same function and configuration as the control apparatus14according to the above embodiments, and the relay apparatus of the information processing system has the same function and configuration as the relay apparatus16according to the above embodiments.