# Patent

## Title
Test emulator, test module emulator, and record medium storing program therein

## Abstract

There is provided a test emulator for emulating a test apparatus including a plurality of test modules for supplying test signal to devices under test respectively, including: a plurality of test module emulation sections for emulating the plurality of test modules generating the test signal based on different cycles, a control emulation section for emulating a control apparatus for controlling the test of the devices under test, a synchronous emulation section for generating test signal generating timings, at which each of the plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of the test module emulation section, based on instructions from the control emulation section, a timing alignment section for aligning the plurality of test signal generating timings generated by the synchronous emulation section in order of time, and outputting them one by one, and a schedule section for causing the test module emulation section corresponding to one of the test signal generating timings output by the timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a test emulator, a test module emulator, and a record medium storing program therein. More particularly, the present invention relates to a test emulator, a test module emulator, and a record medium storing program therein for emulating test apparatuses including a plurality of exchangeable test modules for supplying a test signal to DUTs respectively, and verifying a test environment without using real things such as a DUT or a test module.
2. Description of Related Art
Conventionally, technologies are disclosed in Japanese patent application publications No. 10-320229, No. 2000-267881, No. 2001-51025, No. 2001-134457, and No. 2002-333469, as means for verifying test environment without using real things such as a DUT or a test apparatus.
The Japanese patent application publications No. 10-320229 discloses: each emulator unit for emulating function of each hardware unit of a semiconductor test apparatus; a device emulator for emulating function of DUT; means for collecting data required for execution of a test program from each of the emulator units based on a test program; and an emulator including a device test emulator for generating a test signal in a device emulator based on the collected data, comparing result signals from the device emulator, and storing the result therein.
The Japanese patent application publication No.2000-267881 discloses a semiconductor simulating apparatus for accurately simulating voltage and current which change depending on internal resistance of the DUT.
The Japanese patent application publications No.2001-51025 discloses a program debugging apparatus for a semiconductor test including: tester emulation means for emulating operation of the semiconductor test apparatus; hardware description language simulating means for simulating the DUT based on the hardware description language; and debugging means for debugging the program for the semiconductor test based on the simulating result of the DUT.
The Japanese patent application publications No. 2001-134457 discloses a program debugging apparatus for a semiconductor test for composing data points corresponding to each pin at high speed when emulating operation of the semiconductor test apparatus.
The Japanese patent application publications No. 2002-333469 discloses a program debugging apparatus for a semiconductor test for verifying program for the semiconductor test being composed for a semiconductor device including an analog output terminal.
SUMMARY OF THE INVENTION
It is premised that the emulators of the test apparatuses described above are used for the test apparatus having a proprietary architecture basically developed by a test apparatus vender. On the other hand, in test apparatuses in the future, a method for constructing the test apparatus by combining modules developed by various venders, which is realized by an open architecture, is expected. Therefore, It is desirable to offer an emulator for appropriately emulating the test apparatus constructed by the various modules.
Therefore, it is an object of the present invention to provide a test emulator, a test module emulator, and a record medium storing program therein which can solve the foregoing problem. 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 present invention.
Therefore, according to the first aspect of the present invention, there is provided a test emulator for emulating a test apparatus including a plurality of test modules for supplying a test signal to devices under test respectively. The test emulator includes: a plurality of test module emulation sections for emulating the plurality of test modules generating the test signal based on different cycles; a control emulation section for emulating a control apparatus for controlling the test of the devices under test; a synchronous emulation section for generating test signal generating timings, at which each of the plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of the test module emulation section, based on instructions from the control emulation section; a timing alignment section for aligning the plurality of test signal generating timings generated by the synchronous emulation section in order of time, and outputting them one by one; and a schedule section for causing the test module emulation section corresponding to one of the test signal generating timings output by the timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing.
The synchronous emulation section may further generate interruption collection timings for collecting interruption to the control apparatus generated in simulation by each of the plurality of test module emulation sections during the generation of the test signal in the cycle time corresponding to the test signal generating timings, the timing alignment section may align the plurality of test signal generating timings and the plurality of interruption collection timings in order of time, and outputs them one by one, and the schedule section may cause the test module emulation section corresponding to the interruption collection timing to notify the control emulation section of the interruption generated in simulation in the cycle time at which the test module emulation section generates the test signal just before the interruption collection timing, in case that the timing alignment section outputs one of the interruption collection timings.
Each of the plurality of test module emulation sections may generate change timing of the test signal in the cycle time at the generation of the test signal in the cycle time corresponding to the test signal generating timing, and the test emulator may further include a DUT connection section for acquiring the plurality of change timings generated by the plurality of test module emulation sections, and for changing the test signal in simulation one by one in order of time based on the plurality of change timings.
The DUT connection section supplies the plurality of change timings acquired from the plurality of test module emulation sections to the timing alignment section, the timing alignment section may align the plurality of change timings, the plurality of test signal generating timings, and the plurality of interruption collection timings in order of time, and outputs them one by one, and the schedule section may cause the DUT connection section to change the test signal in simulation at the change timing, in case that the timing alignment section outputs one of the change timings.
Each of the plurality of the test module emulation sections may notify the synchronous emulation section of the cycle end timing at which the cycle time ends during the generation of the test signal in the cycle time corresponding to the test signal generating timing, and the synchronous emulation section may generate the test signal generating timings at which the test module emulation section generates the test signal in simulation corresponding to next cycle time based on the cycle end timing notified from each of the plurality of test module emulation sections.
The schedule section may cause the interruption generated in simulation by the test module emulation section corresponding to the test signal generating timing to be notified to the control emulation section during the generation of the test signal in the cycle time just before the test signal generating timing, in case that the timing alignment section outputs the test signal generating timing corresponding to the next cycle time.
Each of the plurality of test module emulation sections may be controlled by operating a test module emulation program, which is provided to drive the test module emulation section, by using a computer, and the test module emulation program may include: a plurality of hardware emulation functions, being provided corresponding to a plurality of commands received by the test module from the control apparatus respectively, for emulating operation of the test module corresponding to the command; and a control function used in order for the schedule section to cause the test emulator to generate the test signal in the cycle time corresponding to the test signal generating timing.
According to the second aspect of the present invention, there is provided a record medium storing therein program for causing a computer to function as a test emulator for emulating test apparatuses including a plurality of test modules for supplying test signal to devices under test respectively. The program causes the computer to function as: a plurality of test module emulation sections for emulating the plurality of test modules generating the test signal based on different cycles; a control emulation section for emulating a control apparatus for controlling the test of the devices under test; a synchronous emulation section for generating test signal generating timings, at which each of the plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of the test module emulation section, based on instructions from the control emulation section; a timing alignment section for aligning the plurality of test signal generating timings generated by the synchronous emulation section in order of time, and outputting them one by one; and a schedule section for causing the test module emulation section corresponding to one of the test signal generating timings output by the timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing.
According to the third aspect of the present invention, there is provided a test module emulator for emulating a test module among a plurality of test modules by a test emulator for emulating test apparatuses including the plurality of test modules for supplying test signal to devices under test respectively based on a different cycle. The test emulator includes: a control emulation section for emulating a control apparatus for controlling the test of the devices under test; a synchronous emulation section for generating test signal generating timings, at which each of the plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of the test module emulation section, based on instructions from the control emulation section; a timing alignment section for aligning the plurality of test signal generating timings generated by the synchronous emulation section in order of time, and outputting them one by one; and a schedule section for causing the test module emulation section corresponding to one of the test signal generating timings output by the timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing, and the test module emulator includes a pattern generator emulation section for generating the test signal in simulation in the cycle time corresponding to one of the test signal generating timings based on instructions from the schedule section.
The test module emulator may further includes a test module interface emulation section for notifying a synchronous emulation section of cycle end timing at which the cycle corresponding to one of the test signal generating timings ends, and causing the synchronous emulation section to further generate the test signal generating timing at which the test module emulator is to generate the test signal in simulation for the next time based on the cycle end timing.
According to the fourth aspect of the present invention, there is provided a record medium storing therein program for causing a computer to function as a test module emulator for emulating a test module among a plurality of test modules as for a test emulator for emulating test apparatuses including the plurality of test modules for supplying test signal to devices under test respectively based on a different cycle. The test emulator includes: a control emulation section for emulating a control apparatus for controlling the test of the devices under test; a synchronous emulation section for generating test signal generating timings, at which each of the plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of the test module emulation section, based on instructions from the control emulation section; a timing alignment section for aligning the plurality of test signal generating timings generated by the synchronous emulation section in order of time, and outputting them one by one; and a schedule section for causing the test module emulation section corresponding to one of the test signal generating timings output by the timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing, and the program causes the computer to function as a pattern generator emulation section for generating the test signal in simulation in the cycle time corresponding to one of the test signal generating timings based on instructions from the schedule section.
The summary of the invention does not necessarily describe all necessary features of the present invention. The present invention may also be a sub-combination of the features described above.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing a configuration of a test apparatus 10 according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a functional configuration of a test emulator 190 according to the embodiment of the present invention.
FIG. 3 is a block diagram exemplary showing a hardware configuration of a computer 20 according to the embodiment of the present invention.
FIG. 4 is a block diagram showing a functional configuration of a test module emulation section 270 according to the embodiment of the present invention.
FIG. 5 shows an example of a class hierarchical structure 500 according to the embodiment of the present invention.
FIG. 6 is a flow chart showing a test signal generating processing flow of the test emulator 190 according to the embodiment of the present invention.
FIG. 7 is a drawing exemplary showing the test signal simulated by the test emulator 190 according to the embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
The invention will now be described based on the preferred embodiments, which do not intend to limit the scope of the present invention, but exemplify the invention. All of the features and the combinations thereof described in the embodiment are not necessarily essential to the invention.
FIG. 1 is a block diagram showing a configuration of a test apparatus 10 according to an embodiment of the present invention. The test apparatus 10 generates a test signal, supplies it to a DUT 100 (Device Under Test), and judges acceptability of the DUT 100 based on whether a result signal, which is output from the DUT 100 as a result of the DUT 100 being operated based on the test signal, coincides with an expected value. The test apparatus 10 according to the present embodiment is realized by an open architecture, and various kinds of modules based on the open architecture are used as a test module 170 and the like for supplying the test signal to the DUT 100. Moreover, the test apparatus 10 includes a test emulator 190 for emulating a real test of the test apparatus 10, and the test emulator 190 provides an emulation environment for appropriately changing a configuration in response to the change of the test module 170 and the like used for the real test, and for appropriately emulating the real test of the test apparatus 10.
The test apparatus 10 includes a system controller 110, a telecommunication network 120, site control apparatuses 130a-130c, a bus switch 140, synchronous modules 150a-150b, synchronous connection modules 160a-160b, the test modules 170a-170b, a load board 180, and the test emulator 190. The test apparatus 10 connects with the DUTs 100a-100b. 
The system controller 110 receives and stores test control program, test program, test data and the like, which is used for the test of the DUTs 100a-100b by the test apparatus 10, through an external network or the like. The telecommunication network 120 connects the system controller 110, the site control apparatuses 130a-130c, and the test emulator 190, and relays communication between them.
The site control apparatuses 130a-130c are examples of the control apparatus according to the present invention, and control the test of the DUTs 100. Here, each of the plurality of site control apparatuses 130 controls the test of one of the DUTs 100 respectively. For example, in FIG. 1, the site control apparatus 130a controls the test of the DUT 100a, and the site control apparatus 130b controls the test of the DUT 100b. Alternatively, the plurality of site control apparatuses 130 control the test of the plurality of DUTs 100 respectively.
More specifically, the site control apparatus 130 acquires the test control program from the system controller 110 through the telecommunication network 120 and executes it. Next, based on the test control program, the site control apparatus 130 acquires the test program and the test data used for the test of the DUT 100 from the system controller 110, and stores them in a module, such as the synchronous modules 150 or one or a plurality of the test module 170, which is used for the test of the DUT 100, through the bus switch 140. Next, the site control apparatus 130 instructs the start of the test to the synchronous module 150 through the bus switch 140 based on the test program and the test data. Then, the site control apparatus 130 receives an interruption, which indicates that the test is completed, from, for example, the synchronous module 150, and causes each of the modules to perform the next test based on the test result.
The bus switch 140 connects each of the plurality of site control apparatuses 130 to the synchronous modules 150 and one or a plurality of the test modules 170 which are controlled by the site control apparatus 130, and relays the communication between them. Here, a predetermined site control apparatus 130 sets up the bus switch 140 in order to connect each of the plurality of site control apparatuses 130 with the synchronous module 150 and one or a plurality of the test modules 170 used by the site control apparatus 130 for the test of the DUT 100, based on the instruction of a user of the test apparatus 10, the test control program, etc. For example, in FIG. 1, the site control apparatus 130a is set up so that it connects with the synchronous module 150a and the plurality of test modules 170a, thereby the DUT 100a is tested. Moreover, the site control apparatus 130b is set up so that it connects with the synchronous module 150b and the plurality of test modules 170b, thereby the DUT 100b is tested.
Here, since configuration and operation of the site control apparatus 130b for testing the DUT 100b using the synchronous module 150b, the synchronous connection modules 160b and one or a plurality of the test module 170b are substantially the same as configuration and operation of the site control apparatus 130a for testing the DUT 100a using the synchronous module 150a, the synchronous connection modules 160a and one or a plurality of the test module 170a, the configuration and the operation of the site control apparatus 130a for testing the DUT 100a will be mainly described hereinafter unless there is no difference.
The synchronous module 150a generates a test signal generating timing, at which the plurality of test modules 170 used for the test of the DUT 100a are to generate the test signal, based on the instruction of the site control apparatus 130a. Moreover, the synchronous module 150a receives the test result from one or a plurality of the test modules 170a through the synchronous connection module 160a, and causes one or a plurality of the test module 170a to perform sequence of the test program according to the acceptability of the test result.
The synchronous connection module 160a notifies the test module 170a of the test signal generating timing generated by the synchronous module 150a, where the test module 170a is to be operated corresponding to the test signal generating timing. Then, the synchronous connection module 160a causes each of one or a plurality of the test modules 170a to operate at a predetermined timing. Moreover, the synchronous connection module 160a receives the test result from one or a plurality of the test modules 170a, and transmits it to the synchronous module 150a. 
The plurality of test modules 170a connect with a part of a plurality of terminals of the 100a respectively, and tests the DUT 100a based on the test program and the test data stored in the site control apparatus 130a. During the test of the DUT 100a, test module 170a generates the test signal from the test data based on the sequence defined by the test program, and supplies the test signal to the terminals of the DUT 100a connected to the test modules 170a. Next, test module 170a acquires the result signal, which is output as a result of the DUT 100a being operated based on the test signal, and the result signal is compared with an expected value. Then, the test module 170a transmits the comparison result of the result signal and the expected value to the synchronous connection module 160a as the test result. Here, the plurality of test modules 170a generate the test signal based on different cycles in order to change the cycle of the test signal dynamically based on the test program and the test data.
Moreover, the test module 170a generates an interruption to the site control apparatus 130a, when the processing of the test program is completed, or when an abnormality occurs during the execution of the test program. This interruption is notified to the site control apparatus 130a corresponding to the test module 170a through the bus switch 140, and interruption processing is performed by the processor of the site control apparatus 130a. 
The plurality of DUTs 100 are mounted on the load board 180, by which the plurality of test modules 170 and the corresponding terminals of the DUTs 100 are connected.
The test emulator 190 emulates the test apparatus 10 based on the test control program, the test program, and the test data stored in the system controller 110. Then, the test emulator 190 simulates the test of the DUT 100 using the simulation model of the DUT 100. In the present embodiment, the test emulator 190 simulates the operation of the site control apparatus 130, the synchronous module 150 and the synchronous connection modules 160 and one or a plurality of the test modules 170 controlled by the site control apparatus 130, and the DUT 100 which is to be tested by the corresponding site control apparatus 130. By using the test emulator 190, the user of the test apparatus 10 starts the verification of the test control program, the test program, and/or the test data prior to the preparation of the DUT 100, the synchronous module 150, the synchronous connection module 160, the test module 170, etc. Moreover, by providing the plurality of test emulators 190, the test control program, the test program, and/or the test data are developed, without each of the plurality of users occupying the expensive real test environment.
As stated above, the test apparatus 10 is realized by an open architecture and various kinds of modules, which fulfill the specification of the open architecture, are utilized. Then, the test apparatus 10 is used by inserting the modules, such as the synchronous module 150, the synchronous connection module 160, and the test module 170, into arbitrary connection slots of the bus switch 140. At this time, the user of the test apparatus 10 etc. changes topology of the bus switch 140 through the site control apparatus 130a for example, causes the plurality of modules used for the test of the DUT 100 to connect with the site control apparatus 130 for controlling the test of the DUT 100. Thereby, the user of the test apparatus 10 selects a suitable module according to the number of the terminals, the arrangement of the terminals, the kind of the terminals, or the kind of the test for each of the plurality of the DUTs 100, and mounts the module on the test apparatus 10.
Alternatively, as a substitution for the above-mentioned example, the synchronous connection module 160a and the synchronous connection module 160b are realized by a synchronous connection section provided for all of the test modules 170 used for the test apparatus 10. In this case, the user of the test apparatus 10 etc. selects a suitable module according to the property of the plurality of DUTs 100 by changing the topology of the synchronous connection section and the test module 170 with the change of the topology of the bus switch 140.
FIG. 2 is a block diagram showing a functional configuration of the test emulator 190 according to the embodiment of the present invention. The test emulator 190 includes a site control emulation section 230, a bus switch emulation section 240, a synchronous module emulation section 250, a synchronous connection module emulation section 260, one or a plurality of test module emulation sections 270, a DUT connection section 280, a DUT simulating section 200, and a schedule control section 275. Hereinafter, a case where the test emulator 190 emulates the test of the DUT 100a by the site control apparatus 130a will be explained.
The site control emulation section 230 emulates the site control apparatus 130a shown in FIG. 1. That is, the site control emulation section 230 acquires the test control program from the system controller 110 through the telecommunication network 120 and executes it. Next, the site control emulation section 230 acquires the test program and the test data, which are used for the test of the DUT 100a based on the test control program, from the system controller 110, and stores them in module emulation sections such as the synchronous module emulation section 250 or one or a plurality of the test module emulation sections 270 through the bus switch emulation section 240.
Here, the site control emulation section 230 issues simulation commands, such as read-out access and write-in access from/to a storage area in the module, to the bus switch emulation section 240, where real commands are to be issued by the site control apparatus 130a to the synchronous modules 150a and one or a plurality of the test modules 170a. The site control emulation section 230 stores the test program and the test data in the synchronous module emulation sections 250, one or a plurality of the test module emulation sections 270, etc. through the bus switch emulation section 240 by issuing the write-in access of the test program and the test data in simulation to the bus switch emulation section 240.
Moreover, the site control emulation section 230 receives the interruption simulated by the synchronous module emulation section 250 and the test module emulation section 270 through the bus switch emulation section 240, and simulates the interruption processing of the site control apparatus 130a. 
The bus switch emulation section 240 emulates the bus switch 140 shown in FIG. 1, and relays the communication between the site control emulation section 230, and the synchronous module emulation sections 250 and one or a plurality of the test module emulation sections 270.
The synchronous module emulation section 250 emulates the synchronous module 150 shown in FIG. 1, and generates the test signal generating timing, at which each of the plurality of test module emulation sections 270 is to generate the test signal in simulation corresponding to the cycle time of the test module emulation section 270, based on the instructions from the site control emulation section 230. Next, the synchronous module emulation section 250 receives cycle end timing, which is the end timing of the cycle time, from the test module emulation section 270 which generates the test signal. Then, according to the cycle end timing, the synchronous module emulation section 250 generates: a test signal generating timing at which the test module emulation section 270 is to generate the next test signal; a test result collection timing for collecting the test results from the test module emulation section 270; a cycle termination timing for causing the test module emulation section 270 to terminate the processing of the cycle time; and an interruption collection timing for collecting the interruption to the site control emulation section 230 from the test module emulation section 270. Here, the interruption to the site control emulation section 230 from the test module emulation section 270 is the simulated interruption generated by each of the plurality of test module emulation sections 270 for the site control apparatus 130a during the generation of the test signal in the cycle time corresponding to the test signal generating timing.
The synchronous connection module emulation section 260 emulates the synchronous connection module 160 shown in FIG. 1, and notifies the schedule control section 275 of the test signal generating timing generated by the synchronous module emulation section 250 in simulation, the test result collection timing and the cycle termination timing and the interruption collection timing which are generated by the synchronous module emulation section 250 for the emulation. Moreover, the synchronous connection module emulation section 260 receives the test result from one or a plurality of the test module emulation sections 270, and transmits it to the synchronous module emulation section 250.
The test module emulation section 270 receives instruction of a cycle start from the synchronous module emulation section 250 which received instructions of a test signal generation, and generates the test signal in simulation in the cycle time corresponding to the test signal generating timing based on the test program and the test data stored in the site control emulation section 230. More specifically, the test module emulation section 270 generates a change timing of the test signal in simulation in the cycle time during the generation of the test signal in the cycle time corresponding to the test signal generating timing. Alternatively, the test module emulation section 270 generates change timings corresponding to a cycle time as a change timing of the test signal, where the number of the change timings is defined by specification of the test module 170 corresponding to the test module emulation section 270. Moreover, the test module emulation section 270 acquires the output signal output as a result of the DUT simulating section 200 being operated in simulation based on the test signal, and compares the result with the expected value defined based on the test program and the test data. Then, the test module emulation section 270 transmits the comparison result of the result signal and the expected value to the synchronous module emulation section 250 through the synchronous connection module emulation section 260 as the test result.
Moreover, in response to instruction of the interruption from the schedule section 277, the test module emulation section 270 notifies the site control emulation section 230 through the bus switch emulation section 240 of the interruption generated in simulation in the cycle time during which the last test signal before receiving the instruction of the interruption is generated.
The DUT connection section 280 acquires the plurality of change timings generated by the plurality of test module emulation sections 270, and changes the test signal in simulation in order of time based on the plurality of change timings.
The DUT simulating section 200 simulates operation of the DUT 100 described by hardware description languages, such as Verilog-HDL or VHDL, based on the test signal acquired from the DUT connection section 280. Then, the DUT simulating section 200 generates a result signal by the simulation, which is output as a result of the DUT 100 being operated based on the test signal, and supply it to the test module emulation section 270 through the DUT connection section 280.
The schedule control section 275 controls the schedule which operates each of the module emulation sections based on various kinds of timings generated by the plurality of module emulation sections in the simulated test of the DUT 100 by the synchronous module emulation section 250, the synchronous connection module emulation section 260, the plurality of test module emulation sections 270, and the DUT connection section 280. The schedule control section 275 includes a timing alignment section 276 and a schedule section 277.
The timing alignment section 276 aligns the plurality of test signal generating timings, the plurality of interruption collection timings, the plurality of cycle termination timings and the plurality of test result collection timings, which are generated by the synchronous module emulation section 250, and the plurality of change timings that are generated by one or a plurality of the test module emulation sections 270 and are supplied by the DUT connection section 280, in order of time. Then, the timing alignment section 276 outputs these aligned timings to the schedule section 277 one by one. The schedule section 277 notifies the module emulation section and the DUT connection section 280 corresponding to the timings of each of the timings output from the timing alignment section 276 one by one. Then, the schedule section 277 causes the module emulation section or the DUT connection section 280 to perform the operation corresponding to the timings. The operation of the schedule section 277 according to the kind of the timing output from the timing alignment section 276 will be explained hereinafter.
(1) In case that the timing alignment section 276 outputs test signal generating timing
The schedule section 277 notifies the synchronous module emulation section 250 of the test signal generating timing, and instructs the generation of the test signal by the test module emulation section 270 corresponding to the test signal generating timing through the synchronous module emulation section 250. Thereby, the schedule section 277 causes the test module emulation section 270 corresponding to the test signal generating timing to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing through the synchronous module emulation section 250.
(2) In case that the timing alignment section 276 outputs the interruption collection timing
The schedule section 277 instructs the generation of the interruption to the test module emulation section 270 which is designated corresponding to the interruption collection timing. Thereby, the schedule section 277 causes the test module emulation section 270 to notify the site control emulation section 230 through the bus switch emulation section 240 of the interruption generated in simulation in the cycle time during which the test signal is generated just before the interruption collection timing.
(3) In case that the timing alignment section 276 outputs the cycle termination timing
The schedule section 277 notifies the test module emulation section 270 corresponding to the cycle termination timing that the cycle end timing has come.
(4) In case that the timing alignment section 276 outputs the test result collection timing
The schedule section 277 notifies the test module emulation section 270 corresponding to the test result collection timing that the test result collection timing has come. In response, the test module emulation section 270 notifies the synchronous module emulation section 250 through the synchronous connection module emulation section 260 of the comparison result of the result signal and the expected value in the cycle time.
(5) In case that the timing alignment section 276 outputs the change timing
The DUT connection section 280 supplies the plurality of change timing acquired from the plurality of test module emulation sections 270 to the timing alignment section 276. In response, the timing alignment section 276 aligns the plurality of change timings and other various timings altogether in order of time.
If the timing alignment section 276 outputs the change timing, the schedule section 277 notifies the DUT connection section 280 that the change timing has come, in order to change the test signal in simulation at the change timing. In response, the DUT connection section 280 changes the test signal in simulation at the change timing.
Here, the test module emulation section 270 notifies the schedule control section 275 of result signal acquisition timing, which is a timing of the acquisition of the result signal. Then, the timing alignment section 276 aligns the result signal acquisition timing and the other various timings in order of time. In this case, when the timing alignment section 276 outputs the result signal acquisition timing, the schedule section 277 causes the DUT connection section 280 to supply the result signal to the test module emulation section 270 which is to acquire the result signal at the result signal acquisition timing.
Moreover, the DUT connection section 280 acquires the plurality of change timings generated by the plurality of test module emulation sections 270, and supplies them to the DUT simulating section 200, without aligning them in order of time. In this case, the DUT simulating section 200 aligns the plurality of supplied change timings in order of time, and performs the simulation of the DUT 100 based on a plurality of aligned change timings.
According to the test emulator 190 described above, by providing the synchronous module emulation section 250, the synchronous connection module emulation section 260 and one or a plurality of the test module emulation sections 270 respectively corresponding to the synchronous module 150, the synchronous connection modules 160 and one or a plurality of the test modules 170 of the real system of the test apparatus 10, the module emulation sections can be easily replaced as other module emulation sections. Thereby, in case that one module is replaced as another modules in the real system of the test apparatus 10, in the test emulator 190, a module emulation section corresponding to the module is replaced by a module emulation section corresponding to the other module. Then substantially the same test environment as the real system of the test apparatus 10 is provided on the test emulator 190.
FIG. 3 is a block diagram exemplary showing a hardware configuration of the test emulator 190 according to the present embodiment of the invention. The test emulator 190 according to the present embodiment is realized by a computer 20 which includes CPU 300, ROM 310, RAM 320, a communication interface 330, a hard disk drive 340, a flexible disk drive 350, and a CD-ROM drive 360.
The CPU 300 operates based on the program stored in the ROM 310 and the RAM 320, and controls each part. The ROM 310 stores boot program which the CPU 300 executes during startup of a computer 20, program depending on the hardware of the computer 20 and the like. The RAM 320 stores program which the CPU 300 executes, data which the CPU 300 uses. The communication interface 330 communicates with other equipments through a telecommunication network. The hard disk drive 340 stores the program and the data which the computer 20 uses, and supplies them to the CPU 300 through the RAM 320. The flexible disk drive 350 reads program or data in a flexible disk 390, and provides them to the RAM 320. The CD-ROM drive 360 reads program or data in a CD-ROM 395, and provides them to the RAM 320.
The program provided to the CPU 300 through the RAM 320 is stored in a record medium, such as the flexible disk 390, the CD-ROM 395, or an IC card, which is provided by a user. The program is read from the record medium, installed in the computer 20 through the RAM 320, and executed by the computer 20.
The program modules, which are installed and executed in/by the computer 20 and causes the computer 20 to function as the test emulator 190, includes a DUT simulating module, a site control emulation module, a bus switch emulation module, a synchronous module emulation module, a synchronous connection module emulation module, a test module emulation module, a schedule control module, a timing alignment module, a schedule module, and a DUT connection module. The programs or the modules causes the computer 20 to function as the DUT simulating section 200, the site control emulation section 230, the bus switch emulation section 240, the synchronous module emulation section 250, the synchronous connection module emulation section 260, the test module emulation section 270, the schedule control section 275, the timing alignment section 276, the schedule section 277, and the DUT connection section 280 respectively.
Alternatively, the programs or the modules described above are stored in an external record medium. It is possible to use an optical record medium such as DVD or PD, a magneto-optical record medium such as Minidisk, a tape medium, a magnetic record medium or a semiconductor memory such as an IC card as a record medium instead of the flexible disk 390 and the CD-ROM 395. Moreover, a storage device, such as a hard disk or RAM in a server system on a dedicated telecommunication network or the Internet, is used as a record medium and the program may be provided to the computer 20 via the telecommunication network.
FIG. 4 is a block diagram showing a functional configuration of the test module emulation section 270 according to the embodiment of the present invention. In FIG. 4, the test module emulation section 270 is realized by operating the test module emulation program or test module emulation module corresponding to the test module emulation section 270 by the computer 20.
The test module emulation section 270 includes a plurality of hardware emulation functions provided corresponding to each of the plurality of commands received by the test module 170 through the bus switch 140 from the site control apparatus 130, and a control function called in order to notify the test module emulation section 270 of various kinds of timings. The test module emulation section 270 operates in response to the call to these functions from the bus switch emulation section 240 and the schedule control section 275. Here, the control function is used in order for the schedule control section 275 to order the generation of the test signal in simulation in the cycle time corresponding to the test signal generating timing, and to order to notify the site control emulation section 230 of the interruption generated in simulation in the cycle time when the test module emulation section 270 generates the test signal just before the interruption collection timing.
The test module emulation section 270 includes a test module IF emulation section 400 (test module interface emulation section), a pattern generator emulation section 430, a waveform shaper emulation section 440, a pin control emulation section 450, and a parameter measurement emulation section 460.
The test module IF emulation section 400 is started-up when the hardware emulation function is called from the bus switch emulation section 240, and when the control function is called from the schedule control section 275. The test module IF emulation section 400 controls the operation of the test module emulation section 270 corresponding to these function calling. The test module IF emulation section 400 includes a machine word DB 420 and a control function processing section 410.
The machine word DB 420 emulates a storage area stored in the storage area provided in the test module 170. When the machine word DB 420 receives a command from the site control emulation section 230 in simulation through the bus switch emulation section 240 by the calling of the hardware emulation function, it accesses the storage area in the machine word DB 420 corresponding to the command.
More specifically, the test module IF emulation section 400 according to the present embodiment stores a plurality of hardware emulation functions for emulating the operation of the test module emulation section 270 corresponding to a plurality of commands, such as read-out access and write-in access, respectively. When the read-out access is received from the site control emulation section 230 through the bus switch emulation section 240, the test module IF emulation section 400 replies the data in the machine word DB 420 corresponding to the storage area for the read-out access, to the site control emulation section 230 through the bus switch emulation section 240. Moreover, when the machine word DB 420 receives the write-in access, it stores the data to be written in the storage area of the machine word DB 420 corresponding to the storage area for the write-in access. For example, when the machine word DB 420 receives the write-in access of the test program or the test data from the site control emulation section 230 through the bus switch emulation section 240, it stores the test programs or the test data in the storage area of the machine word DB 420 corresponding to the write-in access.
When the control function processing section 410 receives the control function call from the schedule control section 275, the control function processing section 410 causes the pattern generator emulation section 430, the waveform shaper emulation section 440, the pin control emulation section 450, and the parameter measurement emulation section 460 to emulate the operation of the test module 170 according to the control function in response to the instruction of the control function. More specifically, when the schedule control section 275 instructs the generation of the test signal using the control function in the cycle time corresponding to the test signal generating timing, the control function processing section 410 reads a part of the program and a part of the data among the test program and the test data stored in the machine word DB 420, where the part of the program and the data are to be processed by the test module emulation section 270 during the cycle time. Then, the control function processing section 410 causes the pattern generator emulation section 430, the waveform shaper emulation section 440, the pin control emulation section 450, and the parameter measurement emulation section 460 to perform the processing corresponding to the part of the program and the part of the data.
The pattern generator emulation section 430 emulates the pattern generator of the test module 170. That is, the pattern generator emulation section 430 receives the test program and the test data stored in the machine word DB 420 from the control function processing section 410 by the function call, for example. Then the instruction, which indicates that the test signal is to be generated for a certain cycle time, is received from the schedule control section 275 by the function call through the control function processing section 410, and the test signal, which is to be generated in the cycle time, is generated in simulation.
Moreover, the pattern generator emulation section 430 acquires the result signal through the DUT connection section 280 and the waveform shaper emulation section 440, which is output in simulation as a result of the DUT simulating section 200 being operated based on the test signal, and the result signal is compared with the expected value.
The waveform shaper emulation section 440 emulates the waveform shaper of the test module 170. That is, the waveform shaper emulation section 440 shapes the waveform of the test signal in simulation in response to the test signal from the pattern generator emulation section 430. Then the waveform is output to the DUT connection section 280.
The pin control emulation section 450 emulates the pin control section of the test module 170. That is, the pin control emulation section 450 sets parameters, such as operating voltage, for each terminal from which the test signal is output in simulation by the waveform shaper emulation section 440 and/or the parameter measurement emulation section 460 based on the test program.
The parameter measurement emulation section 460 emulates the parameter measurement section of the test module 170. That is, for example, the parameter measurement emulation section 460 receives an instruction of a direct current test (DC parametric test) from the schedule control section 275 through the control function processing section 410 by the function call, and generates the test signal in simulation, which is to be generated in the cycle time of the direct current test. Moreover, the parameter measurement emulation section 460 acquires the result signal, which is output in simulation as a result of the DUT simulating section 200 being operated based on the test signal in the direct current test.
Moreover, in case that the test module emulation section 270 generates the test signal in the cycle time corresponding to the test signal generating timing, the control function processing section 410 notifies the synchronous module emulation section 250 of the cycle end timing at which the cycle, which corresponds to the test signal generating timing, ends.
As stated above, the control function processing section 410 notifies the synchronous module emulation section 250 through the schedule control section 275 of the cycle end timing at which the cycle ends in the generation of the test signal in the cycle time corresponding to the test signal generating timing. Thereby, the control function processing section 410 causes the synchronous module emulation section 250 to further generate the test signal generating timing at which the test module emulation section 270 is to generate the test signal in simulation for the next time based on the cycle end timing.
Moreover, when the control function processing section 410 receives the instruction of the interruption generation from the schedule control section 275, the control function processing section 410 transmits the instruction of the interruption generation to the pattern generator emulation section 430, the waveform shaper emulation section 440, and the pin control emulation section 450 by the function call, for example. The pattern generator emulation section 430, the waveform shaper emulation section 440, and the pin control emulation section 450, which receive the instruction of the interruption generation, notify the control function processing section 410 of the interruption generated in simulation in the cycle time just before the interruption collection timing among the cycle times during which the test module emulation section 270 generates the test signal. When the interruption is notified, the control function processing section 410 notifies the site control emulation section 230 of the interruption through the bus switch emulation section 240 by calling the hardware emulation function for the notification of the interruption included in the bus switch emulation section 240, for example.
FIG. 5 shows an example of a class hierarchical structure 500 according to the embodiment of the present invention. In the present embodiment, module emulation program, which realizes the module emulation sections such as the synchronous module emulation section 250, the synchronous connection module emulation section 260, and the test module emulation section 270, is created using class functions, which are frameworks of the module emulation program defined in order to realize the open architecture of the test apparatus 10 in simulation.
The simulation component class 510 is a class which defines rules for calling a plurality of parameters, return values and etc. of method functions, which are to be included in the module emulation program, with a virtual method function. The simulation component class 510 includes a plurality of virtual hardware emulation functions 512 and a plurality of virtual control functions 514.
Here, read( ) is a method function for emulating the operation of the module corresponding to the read-out access which is called when the site control emulation section 230 issues the read-out access command in simulation. write( ) is a method function for emulating operation of the module corresponding to the write-in access which is called when the site control emulation section 230 issues the write-in access command in simulation. setBaseAddress( ) is a method function which is called when the site control emulation section 230 issues in simulation the base address setting command, which is issued by the site control apparatus 130 when the base address of the storage area of the test module 170 is set up. registerEvent( ) is a method function which is called when the synchronous connection module emulation section 260, the test module emulation section 270, and the DUT connection section 280, which receive the notices from the synchronous module emulation section 250, notify the timing alignment section 276 of the interruption collection timing, the change timing, the result signal acquisition timing, etc. and register the timings to the timing alignment section 276. handleEvent( ) is a method function which is called by the schedule control section 275, in order to cause the synchronous module emulation section 250, the synchronous connection module emulation section 260, the test module emulation section 270, and the DUT connection section 280 to perform the processing in response to the timings when the test signal generating timing, the interruption collection timing, the change timing, the result signal acquisition timing, etc. have come. raiseEvent( ) is a method function which is called when the synchronous module emulation section 250, the synchronous connection module emulation section 260, the test module emulation section 270, and the DUT connection section 280 notify the schedule control section 275 of an event which is to be processed asynchronously without regard to the timings.
A Company A's module class 520 and a Company B's module class 530 are classes derived from the simulation component class 510, i.e., module emulation programs, which are supplied by manufacturers of the modules for example, for emulating common function included in the modules of the manufacturers in common. The Company A's module class 520 and the Company B's module class 530 include a plurality of real hardware emulation functions 522 and a plurality of real control functions 524 respectively. Each of the plurality of real hardware emulation functions 522 and the plurality of real control functions 524 are module emulation programs which are described corresponding to the plurality of virtual hardware emulation functions 512 and the plurality of virtual control functions 514 respectively, and describe the contents of the processing of the real method functions (non-virtual method functions) corresponding to the virtual method functions.
The Company A's module class 520 and the Company B's module class 530 include classes which are further derived. For example, in FIG. 5, the Company B's module class 530 is further derived in a digital test module class 540, a power source module class 560, and a synchronous module class 590.
The digital test module class 540 is a class of test module emulation program for emulating the test module 170 for performing the functional test of the DUT 100. The digital test module class 540 is further derived in a 250 MHz digital test module class 550 for emulating the test module 170 which performs the functional test of the DUT 100 at a frequency of 250 MHz. The power source module class 560 is a class of module emulation program for emulating the module for supplying electric power to the DUT 100. The power source module class 560 is further derived in a high voltage power source module class 570 for emulating the module which supplies high voltage power to the DUT 100, and the low voltage power source module class 580 for emulating the module which supplies low voltage power to the DUT 100. The synchronous module class 590 is a class of module emulation program for emulating the synchronous module 150.
Each of the 250 MHz digital test module class 550, the high voltage power source module class 570, the low voltage power source module class 580, and the synchronous module class 590 includes real method function handleEvent( ) for emulating the original function of each of the modules, which is used by replacing (overriding) the handleEvent( ) in the Company B's module class 530.
Each of the synchronous module emulation section 250, the synchronous connection module emulation section 260, one or a plurality of the test module emulation sections 270 etc. included in the test emulator 190 is realized as one instance of the classes of the module emulation programs included in the class hierarchical structure 500.
As described above, each of the synchronous module emulation section 250, the synchronous connection module emulation section 260, the module emulation section of test module emulation section 270 etc., which is included in the test emulator 190, is realized by the module emulation program corresponding to one of the classes included in the class hierarchical structure 500 for example. A user of the test emulator 190 builds substantially the same test environment as the real system of the test apparatus 10 in the test emulator 190 by generating the instance of the module emulation program from the combination of the classes corresponding to the combination of the modules which are to be mounted in the real system of the test apparatus 10. Moreover, in case of creating a new class corresponding to a new module, man-hour for creating module emulation program is reduced by creating a new class as an inherited class of one of the existing classes.
FIG. 6 shows a test signal generating processing flow of the test emulator 190 according to the embodiment of the present invention, which is proceeded by the test module emulation section 270.
When the site control emulation section 230 instructs the start of the test to the synchronous module emulation section 250 where the test program and the test data are stored in the synchronous module emulation section 250, the synchronous connection module emulation section 260 and one or a plurality of the test module emulation sections 270, the test emulator 190 proceeds the test in simulation according to a procedure described below.
First, in case that the timing alignment section 276 outputs the test signal generating timing, the schedule section 277 of the schedule control section 275 (shown as SCHED in the figure) calls the handleEvent( ) function of the synchronous module emulation section 250 (shown as SYNC in the figure), and notifies that the test signal generating timing has come (S600). Thereby, the schedule control section 275 causes the test module emulation section 270 corresponding to the test signal generating timing to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing through the synchronous module emulation section 250. Here, the schedule control section 275 notifies the synchronous module emulation section 250 of the test signal generating timing by including the event identifier, which identifies that the test signal generating timing of the corresponding test module emulation section 270 has come, in a parameter of the handleEvent( ) function.
Next, the synchronous module emulation section 250 notifies the test module emulation section 270 (shown as TM in the figure), which is to generates the test signal in simulation in the test signal generating timing, of the cycle start which is the instructions for starting the processing of the cycle time and generating the test signal (S605). Here, the synchronous module emulation section 250 notifies the test module emulation section 270 of the cycle start through the schedule control section 275 asynchronous to the timings which are aligned by the timing alignment section 276 in order of time by including the event identifier, which instructs the cycle start, in the parameter of a raiseEvent( ) function, and calling the schedule control section 275.
Next, the test module emulation section 270 generates the test signal in simulation in the corresponding cycle time in response to the notice of the cycle start (S610). That is, in S600, when the schedule control section 275 notifies the synchronous module emulation section 250 of the test signal generating timing so as to generate the test signal in simulation in the cycle time corresponding to test signal generating timing, and when the synchronous module emulation section 250, which receives the notice, notifies the test module emulation section 270 of the cycle start through the schedule control section 275, the test module emulation section 270 generates the test signal in simulation in the cycle time. Here, the test module emulation section 270 generates the change timing of the test signal in simulation in the cycle time during the generation of the test signal in the cycle time.
Next, the DUT connection section 280 (shown as LB in the figure) notifies the timing alignment section 276 of the change timing in response to the change timing of the test signal from the test module emulation section 270, and registers it (S615).
Next, the test module emulation section 270 notifies the synchronous module emulation section 250 of the timing for end of the cycle (S620). Here, the test module emulation section 270 generates the test signal by the pattern generator emulation section 430 based on the designation by the test program and the test data, changing each cycle time dynamically. For this reason, the control function processing section 410 in the test module IF emulation section 400 of the test module emulation section 270 acquires the termination timing of each of the cycles from the pattern generator emulation section 430, and notifies the synchronous module emulation section 250 of the end timing, and causes the synchronous module emulation section 250 to generate the next test signal generating timing accurately.
Next, based on the cycle end timing notified from the test module emulation section 270 in S620, the synchronous module emulation section 250 generates the test signal generating timing at which the test module emulation section 270 is to generate the test signal in simulation corresponding to the next cycle time, notifies the timing alignment section 276 of the timing and registers it (S625). Moreover, the synchronous module emulation section 250 further generates a test result collection timing for collecting the test results from the test module emulation section 270, a cycle termination timing for terminating the cycle time of the test module emulation section 270, and the interruption collection timing for collecting the interruption which is generated by the test module emulation section 270 in simulation during the generation of the test signal in the cycle time. Then the synchronous module emulation section 250 notifies the timing alignment section 276 of the timings and registers them (S625). Here, the synchronous module emulation section 250 registers the timings into the timing alignment section 276 by calling the registerEvent( ) function in the schedule control section 275.
In addition, the synchronous module emulation section 250 generates substantially the same timing as the cycle end timing received from the test module emulation section 270 as the test signal generating timing, the test result collection timing, the cycle termination timing, and the interruption collection timing for the next time in the test module emulation section 270.
Next, when the timing alignment section 276 outputs the change timing which is registered in S615, the schedule section 277 notifies the DUT connection section 280 that the change timing has come so as to change the test signal in simulation at the timing (S630).
Next, when the change timing is notified from the schedule section 277, the DUT connection section 280 generates the test signal by changing the test signal in simulation at the change timing, and supplies it to the DUT simulating section 200 (S635). The DUT simulating section 200 simulates the operation of the DUT 100 based on the test signal acquired from the DUT connection section 280. Then, the DUT simulating section 200 generates the result signal in simulation output as a result of the DUT 100 being operated based on the test signal, and supplies it to the test module emulation section 270 through the DUT connection section 280. The test module emulation section 270 compares the result signal with the expected value, and acquires a comparison result.
Next, when the timing alignment section 276 outputs the test result collection timing registered in S625, the schedule section 277 notifies the test module emulation section 270 that the test result collection timing has come so as to collect acceptability of the result based on the result signal supplied from the DUT simulating section 200 to the test module emulation section 270 (S640). When the test result collection timing is notified, the test module emulation section 270 notifies the synchronous module emulation section 250 through the synchronous connection module emulation section 260 of the comparison result of the result signal and the expected value in the cycle time. The synchronous module emulation section 250 judges the acceptability (pass or fail) of the test result based on the comparison result collected from each of the test module emulation sections 270, and notifies each of the test module emulation section 270 of the acceptability of a test result (S645). Based on the acceptability of this test result, the test program and the test data, which are supplied to the plurality of test module emulation sections 270, are described so as to change the sequence of the test performed after the cycle time.
Next, when the timing alignment section 276 outputs the cycle termination timing in S625, the schedule section 277 notifies the test module emulation section 270 that that the termination timing of the cycle has come (S650).
Next, when the timing alignment section 276 outputs the interruption collection timing registered in S625, the schedule section 277 notifies the test module emulation section 270 that the interruption collection timing has come (S655). When the interruption collection timing is notified, the test module emulation section 270 notifies in simulation the site control emulation section 230 through the bus switch emulation section 240 of the interruption, which is generated in simulation in the cycle time at which the test module emulation section 270 generates the test signal just before the interruption collection timing.
The test emulator 190 repeats the processing explained in the above-mentioned steps S600-S655 until the test is finished (S660).
In addition, when the test is done by the plurality of test module emulation sections 270, the schedule control section 275 aligns the timings of each of the operations of the test module emulation sections 270 in order of time, and makes the schedule. For this reason, S600, S630, S640, S650, and S655 about the plurality of test module emulation sections 270 are performed in order of time.
FIG. 7 is a drawing exemplary showing the test signal generated in simulation by the test emulator 190 according to the embodiment of the present invention. In this drawing, the test emulator 190 includes a test module emulation section 270a for emulating a test module A, and a test module emulation section 270b for emulating a test module B, as the test module emulation section 270.
Before time t1, the test signal generating timing t1 of the test module emulation section 270a, and the test signal generating timing t2 of the test module emulation section 270b are registered into the timing alignment section 276. Since the timings are to be output in order of time, the test signal generating timing t1 is output at first. In response to the result, the schedule section 277 notifies the synchronous module emulation section 250 that the test signal generating timing t1 has come, while the time is set forward to t1.
When the test signal generating timing t1 is notified, the synchronous module emulation section 250 notifies the test module emulation section 270a corresponding to the test signal generating timing t1 through the synchronous connection module emulation section 260 and the test module emulation section 270 of the start of the cycle. In response, test module emulation section 270a generates the test signal in simulation in the cycle time indicated to be a cycle 1 in the figure. Here, test module emulation section 270a notifies the DUT connection section 280 that the test signal changes to H level at the change timing t4 in the cycle time. In response, the DUT connection section 280 registers the change timing t4 into the timing alignment section 276.
Next, after the generation of the test signal in the cycle 1 is finished, the test module emulation section 270a notifies the synchronous module emulation section 250 of the cycle end timing t6 of the cycle 1. In response, the synchronous module emulation section 250 generates the test signal generating timing t6, the test result collection timing t6-Δ, the cycle termination timing t6-Δ, and the interruption collection timing t6-Δ for the next time based on the cycle end timing t6, and registers them into the timing alignment section 276. Here, t6-Δ a time just before the next test signal generating timing t6.
Next, the timing alignment section 276 aligns the registered timings in order of time, and outputs the test signal generating timing t2. In response, the schedule section 277 sets time forward to t2 and notifies the synchronous module emulation section 250 that the test signal generating timing t2 has come.
When the test signal generating timing t2 is notified, the synchronous module emulation section 250 notifies the test module emulation section 270b corresponding to the test signal generating timing t2 through the schedule control section 275 of the cycle start. In response, test module emulation section 270b generates the test signal of test module emulation section 270b in simulation in the cycle 1. As a result, test module emulation section 270b generates change timings of the test signal t3 and t5, and the DUT connection section 280 registers the change timings into the timing alignment section 276.
Next, test module emulation section 270b notifies the synchronous module emulation section 250 of the cycle end timing t7 of the cycle 1 after the generation of the test signal in a cycle 1 is finished. In response, based on the cycle end timing t7, the synchronous module emulation section 250 generates the test signal generating timing t7, the test result collection timing t7-Δ, the cycle termination timing t7-Δ, and the interruption collection timing t7-Δ for the next time, and registers them into the timing alignment section 276.
Next, the timing alignment section 276 aligns the registered timings in order of time, and outputs the change timings t3, t4, and t5 one by one. According to each of the change timings, the schedule section 277 notifies the DUT connection section 280 of the change timings. As a result, the DUT connection section 280 changes the test signal in simulation during the change timing, and it is supplied to the DUT simulating section 200.
Next, the timing alignment section 276 outputs the test result collection timing t6-Δ. In response, the schedule section 277 sets the time forward to t6-Δ and notifies the test module emulation section 270a of the test result collection timing t6-Δ. As a result, collection and distribution of the test result are performed between the test module emulation section 270a and the synchronous module emulation section 250.
Next, the timing alignment section 276 outputs the cycle termination timing t6-Δ. In response, the schedule section 277 notifies the test module emulation section 270a of the end of the cycle 1.
Next, the timing alignment section 276 outputs the interruption collection timing t6-Δ. In response, the schedule section 277 notifies test module emulation section 270a of the outputs interruption collection timing t6-Δ. As a result, the test module emulation section 270a notifies the site control emulation section 230 of the interruption generated in simulation in the cycle 1.
Next, the timing alignment section 276 outputs the test signal generating timing t6. In response, the schedule section 277 sets the time forward to t6 and notifies the synchronous module emulation section 250 that the test signal generating timing t6 has come. Henceforth, the test emulator 190 generates the change timing t8, the result signal acquisition timing t11 indicating the timing at which the result signal is to be acquired, the test signal generating timing t12, the test result collection timing t12-Δ, cycle termination timing t12-Δ, and the interruption collection timing t12 for the next time in the similar manner to the time t1. Then, the test emulator 190 registers these timings into the timing alignment section 276 in the similar manner to the time t1.
Next, the timing alignment section 276 aligns the registered timings in order of time, and outputs the test signal generating timing t7. In response, the schedule section 277 sets the time forward to the t7 and notifies the synchronous module emulation section 250 that the test signal generating timing t7 has come. Henceforth, the test emulator 190 generates the change timings t9 and t10, the test signal generating timing t13, the test result collection timing t13-Δ, the cycle termination timing t13-Δ, and the interruption collection timing t13 for the next time in the similar manner to the time t2. Then, the test emulator 190 registers these timings into the timing alignment section 276 in the similar manner to the time t2.
As described above, according to the test emulator 190 of the present embodiment, the schedule control section 275 aligns various kinds of timings, such as the test signal generating timing, the test signal change timing, the test result collection timing, the result signal acquisition timing, and the interruption collection timing in order of time, so that the scheduling is carried out. For this reason, the test emulator 190 appropriately emulates the operation of the test apparatus 10 in case that the plurality of test modules 170 based on the different cycles are mounted.
Alternatively, in the present embodiment, although the synchronous connection module emulation section 260 registers the test result collection timing, the cycle termination timing, and the interruption collection timing into the timing alignment section 276 in case that the cycle end timing is received from the test module 170, The following method is substituted for the above-mentioned method.
In S625 shown in FIG. 6, based on cycle end timing, the synchronous module emulation section 250 generates the test signal generating timing at which the test module emulation section 270 is to generate the test signal in simulation corresponding to the cycle time, and notifies the timing alignment section 276 of the timing and registers the timing into the timing alignment section 276. On the other hand at this time, the synchronous module emulation section 250 does not generate the test result collection timing, the cycle termination timing, and the interruption collection timing, and does not register them into the timing alignment section 276.
As a result, after the processing in the steps S630 and S635 is done, the test emulator 190 proceeds to the step S600 skipping the steps S640, S650, and S655. Moreover, in case that the timing alignment section 276 outputs the test signal generating timing corresponding to the next cycle time in S600, the schedule section 277 notifies the synchronous module emulation section 250 that the test signal generating timing has come. In response, the synchronous module emulation section 250 instructs the collection of the test result, the notice of the cycle end, and the collection of the interruption to the test module emulation section 270 corresponding to the test signal generating timing before the generation of the test signal generating of the next cycle time.
According to the above-mentioned processing, the schedule control section 275 causes the synchronous module emulation section 250, the synchronous connection module emulation section 260, test module emulation section 270 etc., to perform the processing described in S640, S645, S650, and S655 before the generation of the test signal of the next cycle time. More specifically, the schedule control section 275 causes the synchronous module emulation section 250 and the synchronous connection module emulation section 260 to collect and distribute the acceptability of the test result based on the result signal supplied to the test module emulation section 270 during the generation of the test signal in the cycle time just before the test signal generating timing, and to notify the site control emulation section 230 of the interruption generated in simulation by the test module emulation section 270.
Next, there will be explained examples of specifications of the test emulator 190 according to the present embodiment, and examples of specifications of library in case that the site control emulation section 230 according to the present embodiment accesses the module emulation programs of the synchronous module emulation section 250, the synchronous connection module emulation section 260, test module emulation section 270 etc., through the bus switch emulation section 240. 































































































As described above, according to the present invention, there is provided the test emulator, the test module emulator, and the record medium storing the programs for emulating appropriately the test apparatus which is used with various modules.
Although the present invention has been described by way of an exemplary embodiment, it should be understood that those skilled in the art might make many changes and substitutions without departing from the spirit and the scope of the present invention. It is obvious from the definition of the appended claims that embodiments with such modifications also belong to the scope of the present invention.

## Claims

1. A computer readable medium storing therein instructions for causing a computer to function as an emulating apparatus, the emulating apparatus including a plurality of test modules for supplying a test signal to each of devices under test, the emulating apparatus comprising:
a plurality of test module emulation sections configured to generate the test signal based on different cycles;
a control emulation section for emulating a control apparatus for controlling the test of the devices under test;
a synchronous emulation section connected to each of the plurality of test module emulation sections, for generating test signal generating timings, at which each of said plurality of test module emulation sections is to generate the test signal in simulation corresponding to cycle time of said test module emulation section, based on instructions from said control emulation section;
a timing alignment section connected to the synchronous emulation section, for aligning the plurality of test signal generating timings generated by said synchronous emulation section in order of time, and outputting them one by one; and
a schedule section connected to the timing alignment section and the test module emulation section, for causing said test module emulation section corresponding to one of the test signal generating timings output by said timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing.

2. A test apparatus for testing devices under test, the test apparatus including a system controller, an emulating apparatus and a plurality of test modules for supplying a test signal to each of devices under test, wherein the emulating apparatus comprises:
a test module emulating apparatus;
a control emulation section connected to the system controller, for controlling the test of the devices under test;
a synchronous emulation section connected to the test module emulating apparatus, for generating a plurality of test signal generating timings, at which the test module emulating apparatus is to generate the test signal in simulation corresponding to cycle time of said test module emulating apparatus, based on instructions from said control emulation section;
a timing alignment section connected to the synchronous emulation section, for aligning the plurality of test signal generating timings generated by said synchronous emulation section in order of time, and outputting them one by one; and
a schedule section connected to the timing alignment section and the test module emulating apparatus, for causing said test module emulating apparatus corresponding to one of the test signal generating timings output by said timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing,
wherein the test module emulating apparatus comprises a pattern generator emulation section for generating the test signal in simulation in the cycle time corresponding to one of the test signal generating timings based on instructions from said schedule section.

3. The test apparatus as claimed in claim 2, wherein the test module emulating apparatus further comprises a test module interface emulation section for notifying a synchronous emulation section of cycle end timing at which the cycle corresponding to one of the test signal generating timings ends, and causing said synchronous emulation section to further generate the test signal generating timing at which the test module emulating apparatus is to generate the test signal in simulation for the next time based on the cycle end timing.

4. A computer readable medium storing therein instructions for causing a computer to function as a test module emulating apparatus including a plurality of test modules for supplying a test signal to each of devices under test, the emulating apparatus connecting to a system controller and being a part of the test apparatus, the test module emulating apparatus being a part of the emulating apparatus, wherein the emulating apparatus comprises:
a control emulation section connected to the system controller, for controlling the test of the devices under test;
a synchronous emulation section connected to the test module emulating apparatus, for generating a plurality of test signal generating timings, at which said test module emulating apparatus is to generate the test signal in simulation corresponding to cycle time of said test module emulating apparatus, based on instructions from said control emulation section;
a timing alignment section connected to the synchronous emulation section, for aligning the plurality of test signal generating timings generated by said synchronous emulation section in order of time, and outputting them one by one; and
a schedule section connected to the timing alignment section and the test module emulating apparatus, for causing said test module emulating apparatus corresponding to one of the test signal generating timings output by said timing alignment section to generate the test signal in simulation in the cycle time corresponding to the test signal generating timing,
wherein the instructions cause the computer to function as a pattern generator emulation section for generating the test signal in simulation in the cycle time corresponding to one of the test signal generating timings based on instructions from said schedule section.