WO2009153996A1 - 試験装置および試験方法 - Google Patents

試験装置および試験方法 Download PDF

Info

Publication number
WO2009153996A1
WO2009153996A1 PCT/JP2009/002783 JP2009002783W WO2009153996A1 WO 2009153996 A1 WO2009153996 A1 WO 2009153996A1 JP 2009002783 W JP2009002783 W JP 2009002783W WO 2009153996 A1 WO2009153996 A1 WO 2009153996A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
device under
packet
module
data
Prior art date
Application number
PCT/JP2009/002783
Other languages
English (en)
French (fr)
Inventor
敏 岩本
基夫 植田
優 碁石
浩康 中山
勝 津籐
Original Assignee
株式会社アドバンテスト
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/329,635 external-priority patent/US8059547B2/en
Application filed by 株式会社アドバンテスト filed Critical 株式会社アドバンテスト
Priority to JP2010504353A priority Critical patent/JP4843102B2/ja
Priority to US12/557,468 priority patent/US8362791B2/en
Publication of WO2009153996A1 publication Critical patent/WO2009153996A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture

Definitions

  • the present invention relates to a test apparatus and a test method.
  • This application is related to the following US applications and claims priority from the following US applications: For designated countries where incorporation by reference of documents is permitted, the contents described in the following application are incorporated into this application by reference and made a part of this application.
  • Application No. 61 / 074,151 Application date June 20, 2008
  • Application No. 12 / 329,635 Application date December 8, 2008
  • this application is a provisional application filed on June 20, 2008 in the United States.
  • Test apparatuses for testing semiconductor devices and the like are known.
  • a test module mounted in the test head executes a test program, and sends and receives signals to and from the device under test mounted on the performance board, thereby testing the device under test.
  • the test apparatus When testing such a device under test, the test apparatus must include a test module capable of generating a test signal corresponding to the exchange between the device under test and the external memory.
  • a test module capable of generating a test signal corresponding to the exchange between the device under test and the external memory.
  • a test apparatus for testing a device under test which tests a device under test by communicating a packet with the device under test.
  • a test apparatus including the module
  • FIG. 1 shows a configuration of a test apparatus 100 according to the present embodiment, together with a device under test (DUT) 500.
  • DUT device under test
  • FIG. 2 shows a functional configuration of an additional module 300 according to the present embodiment.
  • An example of a more specific configuration of the additional module 300 provided between the memory interface 600 and the test module 200 is shown.
  • An example of a more specific configuration of the additional module 300 provided between the PCI-Express interface 710 and the test module 200 is shown.
  • the 1st example of a structure of the test module 200 which controls the additional module 300 which concerns on this embodiment is shown.
  • the 2nd example of a structure of the test module 200 which controls the additional module 300 which concerns on this embodiment is shown.
  • the 3rd example of a structure of the test module 200 which controls the additional module 300 which concerns on this embodiment is shown.
  • 1 shows an example of the configuration of a test apparatus 100 according to the present embodiment.
  • An example of the configuration of the arithmetic processing unit 410 according to the present embodiment, and the configuration of one execution processing unit 420 and the communication processing unit 430 that are representative of the plurality of execution processing units 420 and the plurality of communication processing units 430 are shown.
  • the structure of the packet communication part 434 which concerns on this embodiment is shown.
  • 2 shows an exemplary configuration of a lower sequencer 28 and a packet data string storage unit 26 according to the present embodiment.
  • An example of the structure of the data processing part 32 in the transmission side block 12 which concerns on this embodiment is shown.
  • An example of the structure of the transmission part 36 in the transmission side block 12 which concerns on this embodiment is shown.
  • An example of the structure of the receiving part 82 in the receiving side block 14 which concerns on this embodiment is shown.
  • wrist which concerns on this embodiment is shown.
  • An example of the packet function concerning this embodiment is shown. The processing flow of the test apparatus 100 which concerns on this embodiment is shown.
  • FIG. 1 shows a configuration of a test apparatus 100 according to this embodiment together with a device under test 500 (DUT).
  • the test apparatus 100 according to the present embodiment tests the device under test 500.
  • the test apparatus 100 includes a test head 110, a performance board 120, a control device 130, and an additional module 300.
  • the test head 110 is equipped with one or a plurality of test modules 200.
  • Each of the one or more test modules 200 executes a test program and communicates signals with the device under test 500 to test the device under test 500.
  • One of the test modules 200 is connected to the device under test 500 via the additional module 300, and tests the device under test 500 by communicating a packet with the device under test 500.
  • the performance board 120 is placed on the test head 110.
  • the performance board 120 includes the device under test 500 and the additional module 300.
  • the performance board 120 connects between the test module 200 and the device under test 500. Further, the performance board 120 connects between any of the test modules 200 and the additional module 300, and connects between the additional module 300 and the device under test 500.
  • the control device 130 controls the test module 200 and the additional module 300.
  • the control device 130 supplies a test program to each of the test modules 200.
  • the control apparatus 130 performs various settings etc. with respect to the test module 200 and the additional module 300 as an example.
  • the additional module 300 is mounted on the performance board 120.
  • the additional module 300 is provided between any of the test modules 200 and the device under test 500.
  • the additional module 300 performs at least one of higher-speed communication and lower-latency communication with the device under test 500 as compared with the test module 200.
  • the additional module 300 communicates with the device under test 500 a non-deterministic signal whose data value and timing to be exchanged cannot be specified in advance by the test program.
  • the non-deterministic signal may be a signal whose data transmission or reception timing is shifted depending on the state of the device and communication. Further, as an example, the non-deterministic signal may be a signal in which the same packet is repeatedly transmitted according to the state of the device and communication.
  • the additional module 300 communicates with the test module 200 a deterministic signal whose data value and timing to be exchanged can be specified in advance by the test program.
  • the deterministic signal may be a signal whose data transmission or reception timing is predetermined.
  • the deterministic signal may be a signal whose data content does not change regardless of the state of the device and communication.
  • Such an additional module 300 can convert a non-deterministic signal communicated with the device under test 500 into a deterministic signal and transmit it to the test module 200. Further, the additional module 300 can convert a deterministic signal communicated with the test module 200 into a non-deterministic signal and transmit it to the device under test 500.
  • the test apparatus 100 may have a configuration in which the additional module 300 is provided between the test module 200 and a functional block that performs lower-speed communication and higher-latency communication as compared with the test module 200.
  • FIG. 2 shows an example of the configuration of the device under test (DUT) 500 and an example of the connection state of the test module 200 and the additional module 300 according to the present embodiment.
  • the device under test 500 includes functional blocks such as a CPU core block 510, an image core block 520, a memory interface 600, and a communication interface 700 as an example.
  • the test apparatus 100 tests the device under test 500 by exchanging packets and the like with the respective functional blocks in the device under test 500.
  • the memory interface 600 is an interface for the device under test 500 such as DDR-SDRAM (Double Data Rate-SDRAM) to access an external memory.
  • DDR-SDRAM Double Data Rate-SDRAM
  • the memory interface 600 communicates with an external memory with a latency lower than that which can be realized with the test module 200. Therefore, the test apparatus 100 may be configured to include the additional module 300 between the memory interface 600 and the test module 200 as an example.
  • the additional module 300 when the additional module 300 provided between the memory interface 600 and the test module 200 receives a data transmission request from the memory interface 600, the additional module 300 transmits the data to the memory interface 600 instead of the test module 200. As a result, the additional module 300 can make a response to at least a part of commands given to the external memory by the device under test 500 instead of the test module 200.
  • the communication interface 700 is an interface for the device under test 500 to communicate with an external device.
  • the communication interface 700 is a PCI-Express interface 710 for communicating with an external device by a PCI-Express method, a USB interface 720 for communicating with an external device by a USB method, and a communication with an external device by an SD method.
  • An SD interface 730 and the like are included.
  • the PCI-Express interface 710 performs communication with an external device at a higher speed than a communication speed that can be achieved with the test module 200, for example. Therefore, for example, the test apparatus 100 may be configured to include the additional module 300 between the PCI-Express interface 710 and the test module 200.
  • the additional module 300 provided between the PCI-Express interface 710 and the test module 200 receives a packet from the PCI-Express interface 710, a response packet is sent to the PCI-Express interface 710 instead of the test module 200. To do.
  • the additional module 300 can make a response to at least a part of the packets given to the external device by the device under test 500 instead of the test module 200.
  • test apparatus 100 is configured such that any one of the plurality of test modules 200 (the first test module 200) is directly connected to the device under test 500, and packets are transmitted to the device under test 500. connect.
  • the test apparatus 100 may be configured such that any test module 200 (second test module 200) different from the first test module 200 is connected to the additional module 300 to control the additional module 300. .
  • the test module 200 may have a plurality of terminals.
  • at least one terminal (first terminal) of the plurality of terminals is directly connected to the device under test 500 and communicates packets with the device under test 500.
  • the test module 200 may have a configuration in which at least one terminal (second terminal) different from the first terminal is connected to the additional module 300 to control the additional module 300.
  • FIG. 3 shows a functional configuration of the additional module 300 according to the present embodiment.
  • the additional module 300 includes a DUT communication function block 302 for exchanging with the device under test 500 and a main body communication function block 304 for exchanging with the test module 200.
  • the DUT communication function block 302 has a function of receiving a request signal from the device under test 500 as an example.
  • the function receives, for example, a command (memory read command, memory write command, etc.) output from the memory interface 600 of the device under test 500.
  • the DUT communication function block 302 has a function of interpreting a request signal from the device under test 500 as an example. This function determines the content of the command received by the function for receiving a request signal from the device under test 500. For example, the function determines a memory write command, a memory read command, and the like.
  • the DUT communication function block 302 has a function of sending data stored in advance in a memory or the like in the additional module 300 to the device under test 500 in response to a request signal from the device under test 500 as an example.
  • the function stores data stored in the additional module 300 in advance corresponding to the address specified by the command to the device under test 500. Send back.
  • the DUT communication function block 302 has a function of storing data sent from the device under test 500 as an example. For example, when a memory write command is given from the device under test 500, the function stores the data given from the device under test 500 in the additional module 300.
  • the DUT communication function block 302 has, as an example, a function (loopback function) for returning data sent from the device under test 500 as it is in response to a request signal from the device under test 500.
  • a function loopback function
  • the function receives the data given from the device under test 500 as it is. Return to test device 500.
  • the DUT communication function block 302 has a function of processing and sending back data sent from the device under test 500 in response to a request signal from the device under test 500, for example. For example, when the memory read command is given to the same address after receiving the memory write command from the device under test 500 and storing the data, the function performs bit inversion on the data given from the device under test 500. Data that has undergone a predetermined logical operation or the like is sent back to the device under test 500.
  • the DUT communication function block 302 has a function of receiving a clock generated by the device under test 500 and using the clock as an operation clock of the additional module 300 as an example.
  • the DUT communication function block 302 has a function of receiving the timing reference signal generated by the device under test 500 and operating the additional module 300 based on the reference signal.
  • the function acquires a strobe signal exchanged between the device under test 500 and the DRAM in synchronization with the data, and generates a timing at which data is to be taken in from the device under test 500.
  • the DUT communication function block 302 has a function of generating a control signal for controlling the device under test 500 as an example.
  • the function provides, for example, an address and a command to the device under test 500.
  • the main body communication function block 304 has a function capable of programming the function of the additional module 300 from the test module 200 side.
  • the function receives a program code from the test module 200 and controls the operation of the additional module 300 according to the program code.
  • the main body communication function block 304 has a function of setting data to be stored in the additional module 300 from the test module 200 side as an example. For example, when the memory read command is given from the device under test 500, the function receives data from the test module 200 and stores the data to be sent back to the device under test 500 by the additional module 300 in advance.
  • the main body communication function block 304 has a function of reading data stored in the additional module 300 from the test module 200 side as an example.
  • the function transmits data stored in the additional module 300 to the test module 200 when a memory write command is given from the device under test 500.
  • the main body communication function block 304 has, as an example, a function (log function) that stores in time series what requests and data are received from the device under test 500.
  • the function stores, for example, commands and data sent from the device under test 500 in time series.
  • the main body communication function block 304 has a function of reading a stored log from the test module 200 side as an example. Also, the function transmits, for example, commands and data stored in time series in response to a request from the test module 200.
  • the additional module 300 may not have all of the above functions. Further, the additional module 300 may be configured by combining some of the above functions.
  • FIG. 4 shows an example of a more specific configuration of the additional module 300 provided between the memory interface 600 and the test module 200.
  • the additional module 300 connected to the memory interface 600 includes, for example, a test memory 310, a DC test unit 320, a switching unit 330, an acquisition unit 340, a memory control unit 350, and a setting control unit 360. .
  • the test memory 310 receives a memory access from the memory interface 600 by the device under test 500, and exchanges data with the device under test 500 according to the memory access.
  • the DC test unit 320 generates a voltage and a current for DC testing the device under test 500.
  • the switching unit 330 switches whether the memory interface 600 is connected to the test memory 310, the DC test unit 320, or the test module 200.
  • the switching unit 330 connects a terminal provided for testing of the device under test 500 and the memory interface 600.
  • the switching unit 330 connects the memory interface 600 with a terminal that transmits and receives a scan signal for performing a scan test of the device under test 500 in the test module 200.
  • the acquisition unit 340 acquires a signal transmitted between the memory interface 600 and the test memory 310. For example, the acquisition unit 340 acquires and stores in time series what commands and data are received from the device under test 500.
  • the memory control unit 350 accesses the test memory 310 under the control of the test module 200. Further, the memory control unit 350 receives the control from the test module 200 and transmits the signal acquired by the acquisition unit 340 to the test module 200.
  • the setting control unit 360 receives the setting from the test module 200 and controls the switching position of the switching unit 330. Furthermore, the setting control unit 360 receives settings from the test module 200 and controls each part in the additional module 300 such as the DC test unit 320 and the memory control unit 350.
  • Such an additional module 300 can store data provided from the device under test 500 in the additional module 300 when a memory write command is provided from the device under test 500. Further, when the additional module 300 receives a memory read command from the device under test 500, the additional module 300 may send back the data stored corresponding to the address specified by the command to the device under test 500. it can.
  • the additional module 300 receives the memory write command from the device under test 500 and saves the data, and then when the memory read command to the same address or the like is given, it is given from the device under test 500.
  • the data can be sent back to the device under test 500 as it is.
  • such an additional module 300 can transmit a log indicating what requests and data are received from the device under test 500 to the test module 200.
  • an additional module 300 can directly connect a terminal provided for testing the device under test 500 in the test module 200 and the memory interface 600.
  • the additional module 300 can form a path for transmitting a scan signal between the test module 200 and the device under test 500 when performing a scan test of the device under test 500.
  • such an additional module 300 can connect the DC test unit 320 to the memory interface 600. As a result, the additional module 300 can perform a DC test of the device under test 500 via the memory interface 600.
  • FIG. 5 shows an example of a more specific configuration of the additional module 300 provided between the PCI-Express interface 710 and the test module 200.
  • the additional module 300 connected to the PCI-Express interface 710 includes, for example, a switching unit 330, a setting control unit 360, a packet communication unit 370, and a data communication unit 380.
  • the packet communication unit 370 communicates packets with the device under test 500.
  • the data communication unit 380 exchanges data included in the packet with the test module 200.
  • the packet communication unit 370 generates a packet according to the data given from the test module 200 and transmits the packet to the PCI-Express interface 710. Further, the data communication unit 380 generates data corresponding to the packet received from the PCI-Express interface 710 and transmits it to the test module 200.
  • the switching unit 330 switches between connecting the terminal of the PCI-Express interface 710 of the test module 200 to a terminal provided for testing the device under test 500 or connecting the packet communication unit 370 to the device under test 500.
  • the setting control unit 360 receives the setting from the test module 200 and controls the switching position of the switching unit 330. Furthermore, the setting control unit 360 receives settings from the test module 200 and controls each unit in the additional module 300 such as the packet communication unit 370 and the data communication unit 380.
  • an additional module 300 transmits signals with different reception timings from the device under test 500, or performs retransmission of packets, for example, it performs processing corresponding to adjustment of reception timing and packet retransmissions in packet communication. Performed by the unit 370. Therefore, the additional module 300 can exchange the deterministic signal with the test module 200 by the packet communication unit 370 absorbing the nondeterministic exchange in the packet communication.
  • FIG. 6 shows a first example of the configuration of the test module 200 that controls the additional module 300 according to the present embodiment.
  • the test module 200 that controls the additional module 300 includes a bus IF unit 210 and a test unit 220 as an example.
  • the bus IF unit 210 controls transmission / reception of data between the test module 200 and the control device 130.
  • the test unit 220 includes a storage unit that stores a test program given from the control device 130, a sequencer that executes the test program, and the like. In response to an access request from the control device 130, the test unit 220 executes a test program and generates a test signal for testing the device under test 500. Then, the test module 200 outputs the generated test signal from a terminal provided for testing the device under test 500 to the additional module 300.
  • the test unit 220 according to the first example generates a scan signal for performing a scan test on the device under test 500.
  • the test module 200 has a path 230 for transferring an access request to the additional module 300 from the control device 130 of the test apparatus 100 to the additional module 300.
  • the path 230 includes a control signal including an access request to the register in the additional module 300 from the control device 130, and data including a program and data for testing the device under test 500 provided from the control device 130. Transfer the signal.
  • the control device 130 can access the additional module 300 as a part of the elements in the test module 200. Further, in such a test module 200 according to the first example, when the device under test 500 is subjected to a scan test, the scan signal generated by the test unit 220 can be given to the device under test 500.
  • FIG. 7 shows a second example of the configuration of the test module 200 that controls the additional module 300 according to the present embodiment.
  • functional blocks included in the test module 200 according to the second example functional blocks that are substantially the same as the functional blocks included in the test module 200 according to the first example are denoted by the same reference numerals. The description is omitted except for the differences.
  • the test unit 220 executes a test program and generates a scan signal, a data signal, and a control signal.
  • the test module 200 outputs the scan signal and the data signal to the additional module 300 from a terminal provided for testing the device under test 500.
  • the test module 200 outputs a control signal to the additional module 300 from a control terminal for controlling the additional module 300.
  • test unit 220 In such a test unit 220, a test program to be executed is switched in accordance with control from the control device 130.
  • the test unit 220 generates a scan signal when the device under test 500 is subjected to a scan test.
  • test unit 220 when testing the device under test 500 via the additional module 300, the test unit 220 generates a data signal and a control signal to be given to the additional module 300.
  • a test module 200 can control the additional module 300 via a terminal provided for testing the device under test 500.
  • FIG. 8 shows a third example of the configuration of the test module 200 that controls the additional module 300 according to the present embodiment.
  • functional blocks included in the test module 200 according to the third example functional blocks that are substantially the same as the functional blocks included in the test module 200 according to the first example are denoted by the same reference numerals. The description is omitted except for the differences.
  • the additional module 300 is connected to the first test module 200-1 and the second test module 200-2.
  • the first test module 200-1 includes a bus IF unit 210 and a test unit 220.
  • the test unit 220 included in the first test module 200-1 executes a test program and generates a scan signal and a control signal.
  • the test unit 220 included in the first test module 200-1 When the device under test 500 performs a scan test, the test unit 220 included in the first test module 200-1 generates a scan signal, and adds a module from a terminal provided for testing the device under test 500. Output to 300. Further, when testing the device under test 500 via the additional module 300, the test unit 220 included in the first test module 200-1 generates a data signal to be supplied to the additional module 300, and Output from the terminal provided for 500 tests to the additional module 300.
  • the second test module 200-2 includes a bus IF unit 210 and a communication controller 240.
  • the communication controller 240 controls transmission / reception of data to / from the additional module 300 through a predetermined communication interface.
  • the communication controller 240 transmits and receives data using I2C (Inter-Integrated Circuit), SPI (Serial Peripheral Interface), and the like.
  • the communication controller 240 included in the second test module 200-2 sends an access request for the additional module 300 received from the control device 130 to a predetermined communication. Is provided to the additional module 300 via the interface.
  • a second test module 200-2 can control the additional module 300 via the communication interface.
  • FIG. 9 shows an example of a functional configuration of the test apparatus 100 according to the present embodiment.
  • the test apparatus 100 executes a test program to test at least one device under test 500.
  • the control device 130 includes an arithmetic processing unit 410, a test program storage unit 440, and a program supply unit 450.
  • Each of the plurality of test modules 200 includes an execution processing unit 420 and one or more communication processing units 430.
  • the additional module 300 is connected to one or more of the communication processing units 430 of any of the test modules 200.
  • the additional module 300 may have some functions in the connected communication processing unit 430.
  • the additional module 300 may include, for example, the transmission unit 36 and the reception unit 82 in the packet communication unit 434 whose details will be described with reference to FIG.
  • the additional module 300 includes the packet command sequence storage unit 24, the packet data sequence storage unit 26, the lower sequencer 28, the data processing unit 32, the data conversion unit 34, the transmission unit 36, and the reception unit 82 in the packet communication unit 434.
  • the packet communication unit 434 may be provided instead.
  • Each execution processing unit 420 is connected to the arithmetic processing unit 410 via, for example, a bus.
  • Each communication processing unit 430 is connected to one of the execution processing units 420.
  • the arithmetic processing unit 410 processes arithmetic expressions in the test program.
  • Each execution processing unit 420 specifies a packet list to be executed by each communication processing unit 430 connected to the execution processing unit 420 among a plurality of packet lists in the test program.
  • Each communication processing unit 430 sequentially communicates the packets included in the packet list designated by the corresponding execution processing unit 420 with the corresponding device under test 500.
  • the test apparatus 100 may include, for example, one arithmetic processing unit 410, eight execution processing units 420, and 256 communication processing units 430. In this case, for example, 32 communication processing units 430 are connected to each of the eight execution processing units 420.
  • the test apparatus 100 is not limited to such a connection configuration, and may be another connection configuration.
  • the test program storage unit 440 stores a test program.
  • the program supply unit 450 loads a test program to the arithmetic processing unit 410, the execution processing unit 420, and the communication processing unit 430 prior to the test.
  • FIG. 10 illustrates an example of the configuration of the arithmetic processing unit 410 according to the present embodiment, and a representative one of the execution processing unit 420 and the communication processing unit 430 among the plurality of execution processing units 420 and the plurality of communication processing units 430.
  • the configuration is shown.
  • the calculation processing unit 410 includes a variable storage unit 412 and a calculation unit 414.
  • Each execution processing unit 420 includes a flow control unit 426.
  • Each communication processing unit 430 includes a packet list storage unit 432 and a packet communication unit 434.
  • the packet list storage unit 432 is described outside the packet communication unit 434, but may be provided inside the packet communication unit 434.
  • the program supply unit 450 extracts a plurality of packet lists each including a series of packets communicated by the corresponding communication processing unit 430 from the test program stored in the test program storage unit 440, and the corresponding communication processing unit 430. And stored in the packet list storage unit 432.
  • the program supply unit 450 generates a control program describing a control flow for sequentially executing a plurality of packet lists extracted from the test program, and supplies the control program to the flow control unit 426.
  • the program supply unit 450 generates an operation program that executes an operation expression extracted from the test program, and supplies the operation program to the operation unit 414.
  • the flow control unit 426 designates the order of executing each of the plurality of packet lists to the packet communication unit 434 in the corresponding communication processing unit 430 according to the execution flow of the test program. More specifically, the flow control unit 426 executes the control program supplied from the program supply unit 450 and stores it in the packet list storage unit 432 for the packet communication unit 434 in the corresponding communication processing unit 430. A packet list to be executed next is specified from the plurality of packet lists. For example, the flow control unit 426 transmits an address in the packet list storage unit 432 of the packet list to be executed next to the packet communication unit 434.
  • the flow control unit 426 calls an arithmetic program that executes the arithmetic expression and causes the arithmetic unit 414 in the arithmetic processing unit 410 to execute the arithmetic program. Then, the flow control unit 426 specifies a packet list to be executed next based on the calculation result of the calculation expression by the calculation processing unit 410. In this case, the flow control unit 426 may wait for the next packet list to be specified until the calculation result by the calculation processing unit 410 is received, and may select the packet list to be specified according to the calculation result.
  • the packet list storage unit 432 stores a plurality of packet lists supplied from the program supply unit 450.
  • the packet communication unit 434 sequentially communicates a series of packets included in the packet list sequentially specified by the flow control unit 426 in the corresponding execution processing unit 420 with the corresponding device under test 500 to correspond.
  • the device under test 500 is tested.
  • the packet communication unit 434 reads the packet list from the address received from the flow control unit 426 and sequentially communicates a series of packets included in the read packet list with the corresponding device under test 500. Further, the packet communication unit 434 transmits the data value included in the packet received from the device under test 500 as a variable value to the variable storage unit 412 in the arithmetic processing unit 410 via the flow control unit 426.
  • the variable storage unit 412 stores the data value received from each of the plurality of packet communication units 434 included in the plurality of communication processing units 430 as a variable value.
  • the calculation unit 414 executes the calculation formula included in the test program and transmits the execution result to the flow control unit 426 in the plurality of execution processing units 420. Further, when the arithmetic expression includes the data value received from the device under test 500, the arithmetic section 414 reads out the variable value that is a parameter of the arithmetic expression from the variable storage section 412 and performs the calculation specified by the arithmetic expression. Further, the arithmetic unit 414 may transmit the data value included in the packet to be transmitted to the device under test 500 to the packet communication unit 434 as a variable value.
  • Such a test apparatus 100 causes the upper-level arithmetic processing unit 410 to execute the arithmetic expression in the test program, and causes the lower-level flow control unit 426 and the packet communication unit 434 to perform flow control.
  • the higher-order arithmetic processing unit 410 is realized by a processor having a high arithmetic capacity to centrally manage variables, and the lower-level flow control unit 426 and the packet communication unit 434 have a high operating frequency.
  • the system can be realized by a processor or a sequencer, and an overall efficient system can be constructed.
  • such a test apparatus 100 stores a data value received from the device under test 500 as a variable in the higher-level arithmetic processing unit 410. Therefore, according to such a test apparatus 100, the contents of a packet received from one device under test 500 can be reflected in a packet transmitted to another device under test 500.
  • test apparatus 100 transfers the data value received from the device under test 500 from the lower-level communication processing unit 430 to the higher-level arithmetic processing unit 410, complex calculation is performed on the received data. Can do. And since the test apparatus 100 transfers such a calculation result from the high-order arithmetic processing unit 410 to the low-order communication processing unit 430, the data obtained by performing a complex calculation on the received data is obtained. Can be included in a newly generated packet.
  • FIG. 11 shows a configuration of the packet communication unit 434 according to the present embodiment.
  • the packet communication unit 434 includes a transmission side block 12 and a reception side block 14.
  • the transmission side block 12 transmits the packets to the device under test 500 in the order specified by the packet list.
  • the receiving block 14 receives a packet from the device under test 500 and compares the packet specified in the packet list with the received packet to determine whether the device under test 500 is good or bad.
  • the transmission side block 12 includes a packet list storage unit 432, a packet list processing unit 22, a packet instruction sequence storage unit 24, a packet data sequence storage unit 26, a lower sequencer 28, a data processing unit 32, and a data conversion unit. 34 and a transmission unit 36.
  • the packet list storage unit 432 stores a plurality of packet lists supplied from the program supply unit 450.
  • the packet list processing unit 22 executes the packet list specified by the flow control unit 426 among the plurality of packet lists stored in the packet list storage unit 432, and sequentially specifies each packet that communicates with the device under test 500. .
  • the packet list processing unit 22 executes the packet list from the address received from the flow control unit 426 and sequentially specifies the packets to be transmitted to the device under test 500.
  • the packet list processing unit 22 designates an address on the packet instruction sequence storage unit 24 in which an instruction sequence for generating the designated packet is stored. Further, as an example, the packet list processing unit 22 addresses the data string included in the packet in the packet data string storage unit 26 (for example, the start address of the data string) for a packet communicated with the device under test 500. Is specified.
  • the packet list processing unit 22 individually designates the address of the instruction sequence for generating a packet and the address of the data sequence included in the packet. In this case, when a common command sequence or data sequence is specified for two or more packets in the packet list, the packet list processing unit 22 uses the same command sequence for the two or more packets. Or the address of the same data string may be designated.
  • the packet instruction sequence storage unit 24 stores an instruction sequence for generating each of a plurality of types of packets for each type of packet. For example, the packet instruction sequence storage unit 24 stores an instruction sequence for generating a write packet, an instruction sequence for generating a read packet, an instruction sequence for generating an idle packet, and the like.
  • the packet data string storage unit 26 stores a data string included in each of a plurality of types of packets for each type of packet.
  • the packet data string storage unit 26 may include a data string included in the write packet, a data string included in the read packet, a data string included in the idle packet, and the like.
  • the packet data string storage unit 26 may store individual data that is changed for each packet and common data that is common for each packet type separately in separate storage areas. An example of the configuration of the packet data string storage unit 26 will be described with reference to FIG.
  • the packet data string storage unit 26 on the transmission side receives the reception data included in the packet received by the reception unit 82 in the reception side block 14 from the data conversion unit 34 in the reception side block 14. Then, the transmission side packet data string storage unit 26 stores reception data included in the packet received by the reception unit 82 in the reception side block 14.
  • the lower sequencer 28 reads the instruction sequence of the packet specified by the packet list processing unit 22, that is, the instruction sequence whose address is specified by the packet list processing unit 22, from the packet instruction sequence storage unit 24, and converts it into the read instruction sequence. Each included instruction is executed sequentially. Further, the lower sequencer 28 sequentially converts the packet data sequence designated by the packet list processing unit 22, that is, the data sequence designated by the packet list processing unit 22 into the packet data sequence storage unit according to the execution of the instruction sequence. 26, a test data string used for a test with the device under test 500 is generated.
  • the lower sequencer 28 also provides control data for instructing to perform specified processing (calculation or data conversion) on the read individual data and common data every time an instruction is executed. To give. As a result, the lower sequencer 28 can set the designated data portion in the packet designated by the packet list processing unit 22 to data obtained by performing the designated processing on the read data.
  • the lower sequencer 28 may give an end notification to the packet list processing unit 22 in response to completion of execution of the instruction sequence of the packet designated by the packet list processing unit 22.
  • the packet list processing unit 22 can sequentially specify packets in accordance with the progress of execution of the instruction sequence by the lower sequencer 28.
  • the transmission-side lower sequencer 28 included in the transmission-side block 12 designates the edge timing of the signal transmitted to the device under test 500 to the transmission unit 36.
  • the lower sequencer 28 gives a timing signal to the transmission unit 36 and controls the edge timing for each packet.
  • the lower sequencer 28 on the transmission side communicates with the lower sequencer 28 on the reception side included in the reception side block 14. Thereby, the lower sequencer 28 on the transmission side can perform a handshake with the lower sequencer 28 on the reception side and execute the instruction sequence in synchronization with the lower sequencer 28 on the reception side.
  • the lower sequencer 28 on the transmission side notifies the lower sequencer 28 on the reception side that the test data string of a packet designated in advance has been transmitted to the device under test 500.
  • the lower sequencer 28 on the transmission side can prohibit the lower sequencer 28 on the reception side from determining whether the received data string is good or bad until receiving a notification from the lower sequencer 28 on the transmission side.
  • the lower sequencer 28 on the transmission side receives a notification from the lower sequencer 28 on the reception side that it has received a data sequence that matches the generated test data sequence. Is generated.
  • the lower sequencer 28 on the transmission side can transmit a predetermined packet to the device under test 500 after receiving a predetermined packet from the device under test 500.
  • the data processing unit 32 reads the data sequence of the packet designated by the packet list processing unit 22 from the packet data sequence storage unit 26, and generates a test data sequence used for the test of the device under test 500.
  • the data processing unit 32 on the transmission side receives the received data included in the packet received by the reception unit 82 in the reception side block 14 in the test data sequence corresponding to the packet transmitted to the device under test 500. You may include a value depending on.
  • the data processing unit 32 on the transmission side reads data from the packet data sequence storage unit 26 on the transmission side, and determines a predetermined portion in the data sequence of the packet to be transmitted to the device under test 500 according to the received data.
  • a test data string having a value (for example, a value as received data or a value obtained by performing some processing on the received data) is generated.
  • Such a data processing unit 32 on the transmission side can transmit the packet according to the received data included in the packet received from the device under test 500.
  • An example of the configuration of the data processing unit 32 will be described with reference to FIG.
  • the data conversion unit 34 converts the test data string output from the data processing unit 32 at the timing designated by the lower sequencer 28. For example, the data conversion unit 34 performs 8b-10b conversion or the like using a table or the like set in advance for the test data string. Furthermore, as an example, the data conversion unit 34 may perform a scramble process on the test data string. Then, the data conversion unit 34 outputs the converted data string.
  • the transmission unit 36 transmits the test data sequence generated by the data conversion unit 34 to the device under test 500.
  • An example of the configuration of the transmission unit 36 will be described with reference to FIG.
  • reception side block 14 Since the reception side block 14 has substantially the same configuration and function as the transmission side block 12, the reception side block 14 will be described with respect to differences from the transmission side block 12.
  • the receiving side block 14 includes a packet list storage unit 432, a packet list processing unit 22, a packet instruction sequence storage unit 24, a packet data sequence storage unit 26, a lower sequencer 28, a data processing unit 32, and a data conversion unit. 34, a receiving unit 82, and a determining unit 84.
  • the receiving unit 82 receives a packet data string from the device under test 500. An example of the configuration of the receiving unit 82 will be described with reference to FIG.
  • the data conversion unit 34 on the reception side converts the data string received by the reception unit 82 at the timing specified by the lower sequencer 28 on the reception side.
  • the data conversion unit 34 on the reception side performs 8b-10b conversion or the like on a received data string using a preset table or the like.
  • the data conversion unit 34 on the reception side may perform descrambling processing on the received data string.
  • the data conversion unit 34 on the receiving side supplies the converted data string to the determination unit 84.
  • the data converter 34 on the reception side may supply the converted data string to at least one of the packet data string storage unit 26 on the reception side or the packet data string storage unit 26 on the transmission side.
  • the packet list processing unit 22 on the receiving side executes the packet list specified by the flow control unit 426, and sequentially specifies the packets expected to be received from the device under test 500. Further, the data processing unit 32 on the receiving side supplies the generated test data sequence to the determination unit 84.
  • the lower sequencer 28 on the reception side causes the packet data string storage unit 26 on the reception side to output the data string of the packet expected to be output from the device under test 500 as the test data string. Further, the lower sequencer 28 on the receiving side designates the strobe timing for fetching the data value of the signal output from the device under test 500 to the receiving unit 82.
  • the determination unit 84 receives the test data sequence from the data processing unit 32 on the receiving side and the data sequence received from the data conversion unit 34 on the receiving side.
  • the determination unit 84 determines the quality of communication with the device under test 500 based on the result of comparing the received data string with the test data string.
  • the determination unit 84 includes a logical comparison unit that compares whether the data sequence received by the reception unit 82 matches the test data sequence, and a fail memory that stores the comparison result.
  • the determination unit 84 may notify the reception-side lower sequencer 28 that the data sequence received by the reception unit 82 matches the specified data sequence.
  • the lower sequencer 28 on the reception side communicates with the lower sequencer 28 on the transmission side. Thereby, the lower sequencer 28 on the reception side can perform a handshake with the lower sequencer 28 on the transmission side and execute the instruction sequence in synchronization with the lower sequencer 28 on the transmission side.
  • the reception-side lower sequencer 28 notifies the transmission-side lower sequencer 28 that a data sequence that matches the test data sequence generated by the reception-side lower sequencer 28 has been received.
  • the low-order sequencer 28 on the transmission side receives a notification from the low-order sequencer 28 on the reception side that it has received a data sequence that matches the generated test data sequence, and generates a test data sequence for a packet designated in advance. can do.
  • the reception-side lower sequencer 28 waits for a notification from the transmission-side lower sequencer 28 that a test data string of a packet designated in advance has been transmitted to the device under test 500.
  • the determination of pass / fail of the data string received by the receiving unit 82 is prohibited.
  • the lower sequencer 28 on the receiving side can determine whether or not a response corresponding to the predetermined packet is output from the device under test 500 after transmitting the predetermined packet to the device under test 500.
  • the reception side packet data string storage unit 26 receives the reception data included in the packet received by the reception unit 82 from the data conversion unit 34 on the reception side block 14 side.
  • the packet data string storage unit 26 on the reception side stores the reception data included in the packet received by the reception unit 82.
  • the data processing unit 32 on the receiving side includes a value corresponding to the received data included in the packet already received by the receiving unit 82 in the test data sequence included in the packet expected to be output from the device under test 500.
  • the data processing unit 32 on the receiving side reads the data from the packet data sequence storage unit 26 on the receiving side, and replaces the predesignated portion in the data sequence of the packet expected to be received from the device under test 500 with the received data.
  • a test data string having a value (for example, a value of the received data as it is or a value obtained by performing some processing) is generated.
  • the data processing unit 32 on the receiving side responds to the received data included in the first packet already received by the receiving unit 82 in the test data string corresponding to the second packet to be received from the device under test 500. May be included. Thereby, according to the data processing unit 32 on the receiving side, for example, with reference to an ID or the like included in a packet received from the device under test 500, it is determined whether or not an ID that should be included in the subsequent packet is correct. can do.
  • the process of including a value corresponding to the received data included in the received packet in the subsequent packets is positioned relatively close to the device under test 500. Can be done. Thereby, according to the test apparatus 100, the response of the exchange with the device under test 500 can be speeded up.
  • the test apparatus 100 preferably includes a data processing unit 32 realized by an arithmetic processing unit or the like having a relatively high operating frequency. Thereby, the test apparatus 100 can perform the process which produces
  • FIG. 12 shows an example of the configuration of the lower sequencer 28 and the packet data string storage unit 26 according to the present embodiment.
  • the packet data string storage unit 26 includes a common data storage unit 40, a common data pointer 42, a first individual data storage unit 44-1, a second individual data storage unit 44-2, The individual data pointer 46-1 and the second individual data pointer 46-2 may be included.
  • the common data storage unit 40 stores common data common to each type of packet in a data string included in each of a plurality of types of packets.
  • the common data storage unit 40 stores, for each packet type, a start code indicating the start of the packet, an end code indicating the end of the packet, a command code for identifying the type of the packet, and the like.
  • the common data pointer 42 acquires from the packet list processing unit 22 the head address of a block in which common data included in the packet specified by the packet list processing unit 22 is stored. Further, the common data pointer 42 acquires the offset position in the block from the lower sequencer 28. Then, the common data pointer 42 gives an address (for example, an address obtained by adding the offset position to the head address) determined based on the head address and the offset position to the common data storage unit 40, and the common data stored in the address is subjected to data processing. To the unit 32.
  • the first and second individual data storage units 44-1 and 44-2 store individual data to be changed for each packet in a data string included in each of a plurality of types of packets.
  • the first and second individual data storage units 44-1 and 44-2 may store the entity data transmitted to the device under test 500 or the entity data received from the device under test 500 included in each packet. You may remember.
  • the first individual data storage unit 44-1 stores predetermined individual data regardless of the packet list to be executed.
  • the second individual data storage unit 44-2 stores individual data that is changed for each packet list to be executed.
  • the second individual data storage unit 44-2 receives transfer of individual data from the flow control unit 426 in the execution processing unit 420 as appropriate before or during the test.
  • the second individual data storage unit 44-2 receives the reception data received by the reception unit 82 from the reception-side data conversion unit 34 included in the reception-side block 14, and stores the received reception data as individual data. .
  • the data processing unit 32 can read the received data from the second individual data storage unit 44-2 and include it in the test data string.
  • the first and second individual data pointers 46-1 and 46-2 receive from the packet list processing unit 22 the head address of the block in which the individual data included in the packet designated by the packet list processing unit 22 is stored. . Further, the first and second individual data pointers 46-1 and 46-2 obtain the offset position in the block from the lower sequencer 28. The first and second individual data pointers 46-1 and 46-2 specify addresses determined based on the head address and the offset position (for example, an address obtained by adding the offset position to the head address) as the first and second individual data pointers. The data is supplied to the storage units 44-1 and 44-2, and the individual data stored at the address is supplied to the data processing unit 32.
  • the lower sequencer 28 sets an offset position indicating the position of data corresponding to the executed instruction in the block in which the data string included in the packet specified by the packet list processing unit 22 is stored.
  • the lower sequencer 28 may generate an initial value in the first instruction and generate a count value that is incremented every time the instruction to be executed transits as an offset position.
  • the lower sequencer 28 sequentially stores the packet data string designated by the packet list processing unit 22, that is, the data string designated by the packet list processing unit 22 according to the execution of the instruction sequence. By outputting from the unit 26, a test data string used for a test with the device under test 500 can be generated.
  • the lower sequencer 28 designates the common data storage unit 40, the first individual data storage unit 44-1, the second individual data storage unit 44-2, or the designation in the data processing unit 32 every time an instruction is executed.
  • the data processing unit 32 is designated to read out and output data from any of the registers storing the processed data.
  • the lower sequencer 28 can generate a data portion to be changed for each packet in the packet designated by the packet list processing unit 22 from the individual data read from the individual data storage unit 44. Further, the lower sequencer 28 can generate a data portion common to each packet type in the packet specified by the packet list processing unit 22 from the common data read from the common data storage unit 40. Further, the lower sequencer 28 can perform the designated process on the designated data portion in the packet designated by the packet list processing unit 22.
  • FIG. 13 shows an example of the configuration of the data processing unit 32 in the transmission side block 12 according to the present embodiment.
  • the data processing unit 32 in the transmission side block 12 includes at least one register 52, a front stage selection unit 54, at least one computing unit 56, and a rear stage selection unit 60.
  • Each of the at least one register 52 stores the operation processing result of the previous cycle.
  • the data processing unit 32 includes a first register 52-1 and a second register 52-2.
  • the pre-stage selection unit 54 stores the common data from the common data storage unit 40, the individual data storage units 44 (in this example, the first individual data storage unit 44-1 and the second individual data storage unit). 44-2) and the data designated by the lower sequencer 28 among the data of the respective registers 52 (in this example, the first register 52-1 and the second register 52-2) select. Then, the upstream selection unit 54 supplies each of the selected data to the computing unit 56 or the downstream selection unit 60 designated by the lower sequencer 28 for each cycle.
  • Each of the at least one computing unit 56 is provided corresponding to each of the at least one register 52.
  • the data processing unit 32 includes a first arithmetic unit 56-1 corresponding to the first register 52-1, and a second arithmetic unit 56-2 corresponding to the second register 52.
  • each of the arithmetic units 56 performs operations such as logical operations, four arithmetic operations, pseudorandom number generation, and error correction code generation.
  • Each of the computing units 56 performs an operation designated by the lower sequencer 28 on the data selected by the previous stage selection unit 54 and stores it in the corresponding register 52 for each cycle.
  • the post-selection unit 60 selects the data selected by the pre-selection unit 54 for each cycle (in this example, the common data storage unit 40, the first individual data storage unit 44-1 or the second individual data storage unit 44- 2) and the data designated by the lower sequencer 28 among the data in the at least one register 52 are selected. Then, the subsequent stage selection unit 60 outputs the selected data as each data of the test data string.
  • FIG. 14 shows an example of the configuration of the transmission unit 36 in the transmission side block 12 according to the present embodiment.
  • the transmission unit 36 includes a serializer 72, a format controller 74, and a driver 76.
  • the serializer 72 converts the test data string received from the data processing unit 32 into a serial waveform pattern.
  • the format controller 74 generates a signal having a waveform corresponding to the waveform pattern received from the serializer 72. Further, the format controller 74 outputs a signal having a waveform whose logic changes at the edge timing specified by the lower sequencer 28.
  • the driver 76 supplies the signal output from the format controller 74 to the device under test 500.
  • FIG. 15 shows an example of the configuration of the receiving unit 82 in the receiving side block 14 according to the present embodiment.
  • the receiving unit 82 includes a level comparator 86, a timing comparator 88, a deserializer 90, a phase adjustment unit 92, and a hunt unit 94.
  • the level comparator 86 compares the signal output from the device under test 500 with a threshold value and outputs a logic signal.
  • the timing comparator 88 sequentially takes in the logic signal data output from the level comparator 86 at the strobe timing specified by the lower sequencer 28.
  • the deserializer 90 converts the data sequence captured by the timing comparator 88 into a parallel data sequence.
  • the phase adjustment unit 92 detects the specific code at the head of the packet and adjusts the phase of the parallel data string cut out by the deserializer 90.
  • the hunt unit 94 compares the data string fetched by the timing comparator 88 with the specific code at the head of the packet, and adjusts the head position of the packet in bit units.
  • Such a receiving unit 82 can receive a packet output from the device under test 500 at an indeterminate timing. Thereby, according to the receiving side block 14, the data sequence included in the packet output from the device under test 500 at an indeterminate timing is compared with the test data sequence expected to be output from the device under test 500. be able to.
  • FIG. 16 shows an example of a packet list according to the present embodiment.
  • a NOP instruction causes execution to transition to the next instruction.
  • the IDXI instruction repeats execution a specified number of times, and then transitions execution to the next instruction.
  • the EXIT instruction ends the execution of the packet sequence.
  • the packet list describes a packet function that generates a write packet, a read packet, an idle packet that generates a predetermined code, and the like.
  • the packet list processing unit 22 can call a packet function corresponding to the executed instruction each time the instructions are executed sequentially.
  • FIG. 17 shows an example of a packet function that is compiled and loaded into the packet communication unit 434 according to the present embodiment.
  • the packet function loaded in the packet communication unit 434 describes a plurality of instructions that are sequentially executed.
  • NOP instruction For example, a NOP instruction, an IDXI instruction, an RTN instruction, and the like are described in the packet function.
  • the NOP instruction outputs the data stored at the address specified by the pointer once and causes execution to transition to the next instruction.
  • the IDXI instruction repeatedly outputs the data stored at the address designated by the pointer for the designated number of times, and shifts execution to the next instruction.
  • the RTN instruction outputs the data stored at the address specified by the pointer once, and returns execution to the packet list.
  • control data is described corresponding to each command.
  • the control data includes an arithmetic expression given to the arithmetic unit 56 as an example.
  • DB1 or REG1 REG1 ⁇ DB2).
  • the control data may designate a conversion process by the data converter 34.
  • the packet function information specifying the storage location of data to be output corresponding to the command is described corresponding to each command.
  • the packet function designates one of the common data storage unit 40, the individual data storage unit 44, and the register 52 as a storage location.
  • a hexadecimal value such as 0x0F or 0x01 indicates the address of the common data storage unit 40 as a data storage location.
  • DB1 indicates the first individual data storage unit 44-1 as a data storage location.
  • DB2 shows the second individual data storage unit 44-2 as a data storage location.
  • REG1 indicates the first register 52-1 as a data storage location.
  • the lower sequencer 28 can output the data sequence specified by each packet function by executing the instruction sequence indicated by such a packet function.
  • FIG. 18 shows a processing flow of the test apparatus 100 according to the present embodiment.
  • the packet list processing unit 22 executes the packet list and sequentially designates each packet to be communicated with the device under test 500 (S11, S16).
  • the lower sequencer 28 receives the packet designation from the packet list processing unit 22, the lower sequencer 28 repeatedly executes the processing from step S12 to step S15.
  • the lower sequencer 28 When the lower sequencer 28 receives the designation of the packet, the lower sequencer 28 calls the instruction sequence for generating the packet from the packet instruction sequence storage unit 24 and sequentially executes the instruction from the head instruction. The lower sequencer 28 performs steps S13 and S14 every time each instruction is executed (S12, S15).
  • step S13 the lower sequencer 28 outputs data corresponding to the instruction. Further, in step S14, the lower sequencer 28 executes an operation or data conversion corresponding to the instruction. The lower sequencer 28 executes step S13 and step S14 in parallel.
  • the lower sequencer 28 When executing the last instruction, the lower sequencer 28 returns the processing to the packet list processing unit 22 and receives the designation of the next packet from the packet list processing unit 22 (S15). Then, when the processing up to the last packet in the packet sequence is completed, the packet list processing unit 22 ends the flow (S16).
  • the packet list representing the packet sequence and the instruction sequence in the packet are executed by separate sequencers.
  • description of a program can be simplified.
  • the instruction sequence and data for generating a common type of packet can be shared, so that the amount of information to be stored can be reduced.
  • test apparatus 100 individually designates the address of the instruction sequence executed by the lower sequencer 28 and the address of the data sequence read by the lower sequencer 28 from the packet list processing unit 22. Thereby, according to the test apparatus 100, a different data sequence can be generated by the same command sequence. Therefore, according to the test apparatus 100, it is not necessary to store a plurality of identical instruction sequences, so that the amount of information to be stored can be reduced.
  • the data processing unit 32 executes a specified process (that is, calculation or conversion) on the data read from the common data storage unit 40 and the individual data storage unit 44. . That is, the data processing unit 32 can generate data conversion and error detection codes to be processed in accordance with the definition of the lower layer (layer close to the physical layer) in packet communication.
  • the test apparatus 100 may generate a command sequence and a data sequence for outputting upper layer data in packet communication, and separately specify processing in the lower layer in packet communication. Therefore, according to the test apparatus 100, the description of the program can be simplified, and the amount of information to be stored can be reduced.
  • the test apparatus 100 includes a transmission-side block 12 that generates a test data sequence for transmitting a signal to the device under test 500, and test data for comparison with a signal received from the device under test 500.
  • the receiving block 14 that generates a column is separated from each other, and each has a packet list processing unit 22 and a lower sequencer 28. According to the test apparatus 100, since the program on the transmission side and the reception side can be described independently, the program can be simplified.
  • the test apparatus 100 can communicate between the lower sequencer 28 on the transmission side and the lower sequencer 28 on the reception side. Thereby, according to the test apparatus 100, for example, it is easy to start an operation on the reception side using an event generated on the transmission side as a trigger, or to start an operation on the transmission side using an event generated on the reception side as a trigger. It becomes.
  • the test apparatus 100 may be configured to include a plurality of sets of the transmission side block 12 and the reception side block 14.
  • the execution processing unit 420 gives a separate sequence (separate packet list) to each of the set of the transmission side block 12 and the reception side block 14 and executes them independently of each other. Thereby, the test apparatus 100 can operate each of the set of the transmission side block 12 and the reception side block 14 asynchronously with each other.
  • the execution processing unit 420 may operate each set of the transmission side block 12 and the reception side block 14 in synchronization with each other. In this case, the execution processing unit 420 gives the same sequence (same packet list) to each of the set of the transmission side block 12 and the reception side block 14, and starts execution in synchronization with each other. Accordingly, the test apparatus 100 can test a plurality of devices under test 500 having the same type or different types of packet communication interfaces in parallel.
  • test device 110 test head, 120 performance board, 130 control device, 200 test module, 300 additional module, 500 device under test, 510 CPU core block, 520 image core block, 600 memory interface, 700 communication interface, 710 PCI- Express interface, 720 USB interface, 730 SD interface, 302 DUT communication function block, 304 main unit communication function block, 310 test memory, 320 DC test unit, 330 switching unit, 340 acquisition unit, 350 memory control unit, 360 setting control unit 370 packet communication unit, 380 data communication unit, 210 bus IF unit, 220 test unit, 230 pack , 240 communication controller, 410 arithmetic processing unit, 420 execution processing unit, 430 communication processing unit, 440 test program storage unit, 450 program supply unit, 412 variable storage unit, 414 calculation unit, 426 flow control unit, 432 packet list storage unit 434, packet communication unit, 12 transmission side block, 14 reception side block, 22 packet list processing unit, 24 packet instruction sequence storage unit, 26 packet data sequence storage unit, 28 lower sequencer, 32 data processing unit, 34 data conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

 被試験デバイスを試験する試験装置であって、被試験デバイスとの間でパケットを通信して被試験デバイスを試験する試験モジュールと、被試験デバイスおよび試験モジュールの間に接続されて、試験モジュールと比較してより高速な通信およびより低レイテンシの通信の少なくとも一方を被試験デバイスとの間で行う付加モジュールと、テストヘッドに載置されて、試験モジュールおよび被試験デバイスとの間を接続するパフォーマンスボードと、を備え、付加モジュールは、パフォーマンスボードに搭載される試験装置を提供する。

Description

試験装置および試験方法
[規則91に基づく訂正 21.10.2009] 
 本発明は、試験装置および試験方法に関する。本出願は、下記の米国出願に関連し、下記の米国出願からの優先権を主張する出願である。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
 出願番号 61/074,151  出願日 2008年6月20日
 出願番号 12/329,635  出願日 2008年12月8日
 また、米国において、本出願は、2008年6月20日に出願した仮出願(出願番号 61/074,151)の非仮出願である。
 半導体装置等を試験する試験装置が知られている。試験装置では、テストヘッド内に搭載された試験モジュールが試験プログラムを実行して、パフォーマンスボード上に搭載された被試験デバイスとの間で信号を授受することにより、被試験デバイスを試験する。
 ところで、近年、信号の出力サイクルが一定でなかったり、出力値が何らかの状態に依存して変化したりする非確定な振る舞いをするデバイスが増加している。しかし、試験モジュールは、試験プログラムにより予め定められた波形の信号を出力するので、このような非確定な振る舞いをするデバイスとのやり取りをする場合、応答が遅くなってしまっていた。
 また、近年、ナノ秒オーダーのハンドシェイクを実現する低レイテンシの通信を行うメモリを、外付けメモリとして用いる被試験デバイスも増加している。このような被試験デバイスを試験する場合、試験装置は、被試験デバイスと外部メモリとのやり取りに対応する試験信号を発生できる試験モジュールを備えなければならない。しかし、試験装置では、被試験デバイスと試験モジュールとの間の配線が長い等の理由から、試験モジュールによって被試験デバイスが要求する時間内にハンドシェイクを実現することは困難であった。
 上記課題を解決するために、本発明の第1の態様においては、被試験デバイスを試験する試験装置であって、前記被試験デバイスとの間でパケットを通信して前記被試験デバイスを試験する試験モジュールと、前記被試験デバイスおよび前記試験モジュールの間に接続されて、前記試験モジュールと比較してより高速な通信およびより低レイテンシの通信の少なくとも一方を前記被試験デバイスとの間で行う付加モジュールと、を備える試験装置および試験方法を提供する。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係る試験装置100の構成を被試験デバイス(DUT)500とともに示す。 被試験デバイス(DUT)500の構成の一例、および、本実施形態に係る試験モジュール200および付加モジュール300の接続状態の一例を示す。 本実施形態に係る付加モジュール300の機能構成を示す。 メモリインターフェイス600と試験モジュール200との間に設けられる付加モジュール300のより具体的な構成の一例を示す。 PCI-Expressインターフェイス710と試験モジュール200との間に設けられた付加モジュール300のより具体的な構成の一例を示す。 本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第1例を示す。 本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第2例を示す。 本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第3例を示す。 本実施形態に係る試験装置100の構成の一例を示す。 本実施形態に係る演算処理部410の構成の一例、および、複数の実行処理部420および複数の通信処理部430のうちの代表する一の実行処理部420および通信処理部430の構成を示す。 本実施形態に係るパケット通信部434の構成を示す。 本実施形態に係る下位シーケンサ28およびパケットデータ列記憶部26の構成の一例を示す。 本実施形態に係る送信側ブロック12内のデータ処理部32の構成の一例を示す。 本実施形態に係る送信側ブロック12内の送信部36の構成の一例を示す。 本実施形態に係る受信側ブロック14内の受信部82の構成の一例を示す。 本実施形態に係るパケットリストの一例を示す。 本実施形態に係るパケット関数の一例を示す。 本実施形態に係る試験装置100の処理フローを示す。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、本実施形態に係る試験装置100の構成を被試験デバイス500(DUT)とともに示す。本実施形態に係る試験装置100は、被試験デバイス500を試験する。試験装置100は、テストヘッド110と、パフォーマンスボード120と、制御装置130と、付加モジュール300とを備える。
 テストヘッド110は、1または複数の試験モジュール200を搭載する。1または複数の試験モジュール200のそれぞれは、試験プログラムを実行して、被試験デバイス500との間で信号を通信して被試験デバイス500を試験する。また、何れかの試験モジュール200は、被試験デバイス500と付加モジュール300を介して接続され、被試験デバイス500との間でパケットを通信して被試験デバイス500を試験する。
 パフォーマンスボード120は、テストヘッド110に載置される。パフォーマンスボード120は、被試験デバイス500および付加モジュール300を搭載する。パフォーマンスボード120は、試験モジュール200および被試験デバイス500との間を接続する。更に、パフォーマンスボード120は、何れかの試験モジュール200と付加モジュール300との間を接続し、付加モジュール300と被試験デバイス500との間を接続する。
 制御装置130は、試験モジュール200および付加モジュール300を制御する。制御装置130は、一例として、試験モジュール200のそれぞれに試験プログラムを供給する。また、制御装置130は、一例として、試験モジュール200および付加モジュール300に対して各種の設定等を行う。
 付加モジュール300は、パフォーマンスボード120に搭載される。付加モジュール300は、何れかの試験モジュール200と被試験デバイス500との間に設けられる。
 そして、付加モジュール300は、試験モジュール200と比較してより高速な通信およびより低レイテンシの通信の少なくとも一方を被試験デバイス500との間で行う。この場合において、付加モジュール300は、一例として、授受するデータ値およびタイミングが予め試験プログラムにより特定できない非確定的な信号を被試験デバイス500との間で通信する。
 非確定的な信号は、一例として、デバイスおよび通信等の状態に応じて、データの送信または受信タイミングがずれる信号であってよい。また、非確定的な信号は、一例として、デバイスおよび通信等の状態に応じて同一パケットが繰り返して送信される信号であってもよい。
 そして、付加モジュール300は、一例として、授受するデータ値およびタイミングが予め試験プログラムにより特定できる確定的な信号を試験モジュール200との間で通信する。確定的な信号は、一例として、データの送信または受信タイミングが予め定められた信号であってよい。また、確定的な信号は、一例として、デバイスおよび通信等の状態に関わらずデータ内容が変化しない信号であってもよい。
 このような付加モジュール300は、被試験デバイス500との間で通信される非確定的な信号を、確定的な信号に変換して試験モジュール200に送信することができる。また、付加モジュール300は、試験モジュール200との間で通信される確定的な信号を、非確定的な信号に変換して被試験デバイス500に送信することができる。なお、試験装置100は、試験モジュール200と比較してより低速な通信およびより高レイテンシの通信を行う機能ブロックと、試験モジュール200との間にも付加モジュール300を備える構成であってもよい。
 図2は、被試験デバイス(DUT)500の構成の一例、および、本実施形態に係る試験モジュール200および付加モジュール300の接続状態の一例を示す。被試験デバイス500は、一例として、CPUコアブロック510、イメージコアブロック520、メモリインターフェイス600および通信インターフェイス700等の機能ブロックを備える。試験装置100は、一例として、被試験デバイス500内のそれぞれの機能ブロックとパケット等のやり取りをして、被試験デバイス500を試験する。
 メモリインターフェイス600は、例えばDDR-SDRAM(Dobule Data Rate - SDRAM)等の被試験デバイス500が外部のメモリをアクセスするためのインターフェイスである。ここで、メモリインターフェイス600は、一例として、試験モジュール200との間で実現可能なレイテンシよりも低いレイテンシで外部メモリと通信を行う。そこで、試験装置100は、一例として、メモリインターフェイス600と試験モジュール200との間に付加モジュール300を備える構成であってよい。
 メモリインターフェイス600と試験モジュール200との間に設けられた付加モジュール300は、一例として、メモリインターフェイス600からデータの送出要求を受け取ると、試験モジュール200に代わり、データをメモリインターフェイス600に送出する。これにより、付加モジュール300は、被試験デバイス500が外部メモリに対して与えるコマンドのうちの少なくとも一部のコマンドに対する応答を、試験モジュール200に代わって行うことができる。
 通信インターフェイス700は、被試験デバイス500が外部のデバイスとの間で通信するためのインターフェイスである。通信インターフェイス700は、一例として、PCI-Express方式により外部デバイスと通信するためのPCI-Expressインターフェイス710、USB方式により外部デバイスと通信するためのUSBインターフェイス720およびSD方式により外部デバイスと通信するためのSDインターフェイス730等を有する。
 これらの通信のための機能ブロックのうち、PCI-Expressインターフェイス710は、例えば試験モジュール200との間で実現可能な通信速度より高速に外部デバイスとの間で通信を行う。そこで、試験装置100は、一例として、PCI-Expressインターフェイス710と試験モジュール200との間に付加モジュール300を備える構成であってよい。
 PCI-Expressインターフェイス710と試験モジュール200との間に設けられた付加モジュール300は、一例として、PCI-Expressインターフェイス710からパケット受け取ると、試験モジュール200に代わり、応答パケットをPCI-Expressインターフェイス710に送出する。これにより、付加モジュール300は、被試験デバイス500が外部デバイスに対して与えるパケットのうちの少なくとも一部のパケットに対する応答を、試験モジュール200に代わって行うことができる。
 また、試験装置100は、複数の試験モジュール200のうちの何れかの試験モジュール200(第1の試験モジュール200)が、被試験デバイス500に直接接続され、被試験デバイス500との間でパケットを通信する。そして、試験装置100は、第1の試験モジュール200とは異なる何れかの試験モジュール200(第2の試験モジュール200)が、付加モジュール300に接続され、付加モジュール300を制御する構成であってよい。
 また、試験装置100は、試験モジュール200が複数の端子を有してもよい。この場合、試験モジュール200は、複数の端子のうち何れか少なくとも1つの端子(第1端子)が、被試験デバイス500に直接接続され、被試験デバイス500との間でパケットを通信する。そして、試験モジュール200は、第1端子とは異なる何れかの少なくとも1つの端子(第2端子)が、付加モジュール300に接続され、付加モジュール300を制御する構成であってもよい。
 図3は、本実施形態に係る付加モジュール300の機能構成を示す。付加モジュール300は、被試験デバイス500とのやり取りをするためのDUT通信機能ブロック302と、試験モジュール200とのやり取りをするための本体通信機能ブロック304とを有する。
 DUT通信機能ブロック302は、一例として、被試験デバイス500からの要求信号を受け取る機能を有する。当該機能は、例えば、被試験デバイス500のメモリインターフェイス600から出力されたコマンド(メモリリードコマンド、メモリライトコマンド等)を受け取る。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500からの要求信号を解釈する機能を有する。当該機能は、被試験デバイス500からの要求信号を受け取る機能により受け取ったコマンドの内容の判別をする。例えば、当該機能は、メモリライトコマンド、メモリリードコマンド等の判別をする。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500からの要求信号に応じて、付加モジュール300の中のメモリ等に予め保存しておいたデータを被試験デバイス500に送り出す機能を有する。当該機能は、例えば、被試験デバイス500からメモリリードコマンドが与えられた場合、当該コマンドにより指定されたアドレスに対応して予め当該付加モジュール300内に保存しているデータを、被試験デバイス500に送り返す。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500から送られたデータを保存する機能を有する。当該機能は、例えば、被試験デバイス500からメモリライトコマンドが与えられた場合、被試験デバイス500から与えられたデータを当該付加モジュール300内に保存する。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500からの要求信号に応じて、被試験デバイス500から送られたデータをそのまま送り返す機能(ループバック機能)を有する。当該機能は、例えば、被試験デバイス500からメモリライトコマンドを受けてデータを保存した後に、同一のアドレス等へのメモリリードコマンドが与えられた場合、被試験デバイス500から与えられたデータをそのまま被試験デバイス500に送り返す。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500からの要求信号に応じて、被試験デバイス500から送られたデータを加工して送り返す機能を有する。当該機能は、例えば、被試験デバイス500からメモリライトコマンドを受けてデータを保存した後に、同一のアドレス等へのメモリリードコマンドが与えられた場合、被試験デバイス500から与えられたデータにビット反転および所定の論理演算等を行ったデータを、被試験デバイス500に送り返す。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500が生成したクロックを受け取り、そのクロックを付加モジュール300の動作クロックとする機能を有する。また、DUT通信機能ブロック302は、一例として、被試験デバイス500が生成したタイミング基準信号を受け取り、その基準信号をもとに付加モジュール300が動作できる機能を有する。当該機能は、例えば、被試験デバイス500とDRAMとの間でデータと同期して授受されるストローブ信号を取得して、被試験デバイス500からデータを取り込むべきタイミングを生成する。
 また、DUT通信機能ブロック302は、一例として、被試験デバイス500を制御する制御信号を発生する機能を有する。当該機能は、例えば、アドレスおよびコマンド等を被試験デバイス500に対して与える。
 本体通信機能ブロック304は、一例として、試験モジュール200側から当該付加モジュール300の機能をプログラムできる機能を有する。当該機能は、例えば、試験モジュール200からプログラムコードを受け取り、当該プログラムコードに従って、当該付加モジュール300の動作を制御する。
 また、本体通信機能ブロック304は、一例として、付加モジュール300に保存するデータを試験モジュール200側からセットする機能を有する。当該機能は、例えば、被試験デバイス500からメモリリードコマンドが与えられた場合において、当該付加モジュール300が被試験デバイス500に対して送り返すべきデータを、予め試験モジュール200から受け取って保存しておく。
 また、本体通信機能ブロック304は、一例として、付加モジュール300に保存するデータを試験モジュール200側から読み出す機能を有する。当該機能は、例えば、被試験デバイス500からメモリライトコマンドが与えられた場合において当該付加モジュール300内部が保存したデータを、試験モジュール200に対して送信する。
 また、本体通信機能ブロック304は、一例として、被試験デバイス500からどのような要求およびデータを受けたかを時系列に保存しておく機能(ログ機能)を有する。当該機能は、例えば、被試験デバイス500から送られたコマンドおよびデータを、時系列に保存する。
 また、本体通信機能ブロック304は、一例として、保存してあるログを試験モジュール200側から読み出す機能を有する。また、当該機能は、例えば、時系列に保存しているコマンドおよびデータを、試験モジュール200からの要求に応じて送信する。
 なお、付加モジュール300は、以上の機能の全てを備えなくてよい。また、付加モジュール300は、以上のいくつかの機能を組み合わせて構成されてもよい。
 図4は、メモリインターフェイス600と試験モジュール200との間に設けられる付加モジュール300のより具体的な構成の一例を示す。メモリインターフェイス600に接続される付加モジュール300は、一例として、試験用メモリ310と、直流試験ユニット320と、切替部330と、取得部340と、メモリ制御部350と、設定制御部360とを有する。
 試験用メモリ310は、被試験デバイス500によるメモリインターフェイス600からのメモリアクセスを受け取って、当該メモリアクセスに応じて被試験デバイス500との間でデータを授受する。直流試験ユニット320は、被試験デバイス500を直流試験するための電圧および電流を発生する。
 切替部330は、メモリインターフェイス600を、試験用メモリ310、直流試験ユニット320または試験モジュール200の何れに接続するかを切り替える。ここで、切替部330は、一例として、試験モジュール200に接続する場合、被試験デバイス500の試験用に設けられた端子と、メモリインターフェイス600とを接続する。例えば、切替部330は、一例として、試験モジュール200における被試験デバイス500のスキャン試験するためのスキャン信号を送受信する端子と、メモリインターフェイス600とを接続する。
 取得部340は、メモリインターフェイス600および試験用メモリ310の間で伝送される信号を取得する。取得部340は、一例として、被試験デバイス500からどのようなコマンドおよびデータを受けたかを時系列に取得して保存する。
 メモリ制御部350は、試験モジュール200からの制御を受けて、試験用メモリ310をアクセスする。また、メモリ制御部350は、試験モジュール200からの制御を受けて、取得部340が取得した信号を試験モジュール200へ送信する。設定制御部360は、試験モジュール200からの設定を受けて、切替部330の切り替え位置を制御する。更に、設定制御部360は、試験モジュール200からの設定を受けて、直流試験ユニット320およびメモリ制御部350等の当該付加モジュール300内の各部の制御を行う。
 このような付加モジュール300は、被試験デバイス500からメモリライトコマンドが与えられた場合、被試験デバイス500から与えられたデータを当該付加モジュール300内に記憶することができる。また、このような付加モジュール300は、被試験デバイス500からメモリリードコマンドが与えられた場合、当該コマンドにより指定されたアドレスに対応して記憶しているデータを、被試験デバイス500に送り返すことができる。
 また、このような付加モジュール300は、被試験デバイス500からメモリライトコマンドを受けてデータを保存した後に、同一のアドレス等へのメモリリードコマンドが与えられた場合、被試験デバイス500から与えられたデータをそのまま被試験デバイス500に送り返すことができる。また、このような付加モジュール300は、被試験デバイス500からどのような要求およびデータを受けたかのログを試験モジュール200に送信することができる。
 また、このような付加モジュール300は、試験モジュール200における被試験デバイス500の試験用に設けられた端子とメモリインターフェイス600とを直接接続することができる。これにより、付加モジュール300は、被試験デバイス500をスキャン試験する場合には、試験モジュール200と被試験デバイス500との間にスキャン信号をやり取りする経路を形成することができる。
 また、このような付加モジュール300は、メモリインターフェイス600に直流試験ユニット320を接続することができる。これにより、付加モジュール300は、メモリインターフェイス600を介して被試験デバイス500の直流試験をすることができる。
 図5は、PCI-Expressインターフェイス710と試験モジュール200との間に設けられる付加モジュール300のより具体的な構成の一例を示す。PCI-Expressインターフェイス710に接続される付加モジュール300は、一例として、切替部330と、設定制御部360と、パケット通信部370と、データ通信部380とを有する。
 パケット通信部370は、被試験デバイス500との間でパケットを通信する。データ通信部380は、試験モジュール200との間でパケットに含まれるデータを授受する。パケット通信部370は、試験モジュール200から与えられたデータに応じたパケットを生成して、PCI-Expressインターフェイス710に送信する。また、データ通信部380は、PCI-Expressインターフェイス710から受信したパケットに応じたデータを生成して、試験モジュール200に送信する。
 切替部330は、試験モジュール200のPCI-Expressインターフェイス710の端子を被試験デバイス500の試験用に設けられた端子に接続するか、パケット通信部370を被試験デバイス500へと接続するかを切り替える。設定制御部360は、試験モジュール200からの設定を受けて、切替部330の切り替え位置を制御する。更に、設定制御部360は、試験モジュール200からの設定を受けて、パケット通信部370およびデータ通信部380等の当該付加モジュール300内の各部の制御を行う。
 このような付加モジュール300は、被試験デバイス500から受信タイミングの異なる信号を送信したり、例えばパケットの再送等を行ったりしても、受信タイミングの調整およびパケットの再送に対応する処理をパケット通信部370が行う。従って、付加モジュール300は、パケット通信における非確定的なやり取りをパケット通信部370が吸収して、試験モジュール200との間では確定的な信号のやり取りを行うことができる。
 図6は、本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第1例を示す。付加モジュール300を制御する試験モジュール200は、一例として、バスIF部210と、試験部220とを含む。バスIF部210は、当該試験モジュール200と制御装置130との間のデータの送受信を制御する。
 試験部220は、制御装置130から与えられた試験プログラムを格納する記憶部、および、試験プログラムを実行するシーケンサ等を含む。試験部220は、制御装置130からのアクセス要求に応じて、試験プログラムを実行して被試験デバイス500を試験するための試験信号を発生する。そして、試験モジュール200は、発生した試験信号を、被試験デバイス500の試験用に設けられた端子から付加モジュール300へと出力する。第1例に係る試験部220は、被試験デバイス500をスキャン試験するためのスキャン信号を発生する。
 また、第1例に係る試験モジュール200は、試験装置100の制御装置130からの付加モジュール300へのアクセス要求を、付加モジュール300へと転送するパス230を有する。パス230は、一例として、制御装置130からの付加モジュール300内のレジスタへのアクセス要求を含む制御信号、および、制御装置130から与えられる被試験デバイス500を試験するためのプログラムおよびデータを含むデータ信号を転送する。
 このような第1例に係る試験モジュール200においては、制御装置130が、付加モジュール300を当該試験モジュール200内の要素の一部としてアクセスすることができる。また、このような第1例に係る試験モジュール200においては、被試験デバイス500をスキャン試験する場合、試験部220が発生したスキャン信号を被試験デバイス500へ与えることができる。
 図7は、本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第2例を示す。図7の説明において、第2例に係る試験モジュール200に含まれる機能ブロックのうち、第1例に係る試験モジュール200に含まれる機能ブロックと略同一の機能ブロックについては、同一の符号を付けて相違点を除き説明を省略する。
 第2例に係る試験部220は、試験プログラムを実行して、スキャン信号、データ信号および制御信号を生成する。試験モジュール200は、スキャン信号およびデータ信号を、被試験デバイス500の試験用に設けられた端子から付加モジュール300へと出力する。また、試験モジュール200は、制御信号を、付加モジュール300を制御するための制御用の端子から、付加モジュール300へと出力する。
 このような試験部220は、制御装置130からの制御に応じて実行すべき試験プログラムが切り替えられる。試験部220は、被試験デバイス500をスキャン試験する場合には、スキャン信号を生成する。
 また、試験部220は、付加モジュール300を介して被試験デバイス500を試験する場合には、付加モジュール300に与えるデータ信号および制御信号を生成する。このような試験モジュール200は、被試験デバイス500の試験用に設けられた端子を介して付加モジュール300を制御することができる。
 図8は、本実施形態に係る付加モジュール300を制御する試験モジュール200の構成の第3例を示す。図8の説明において、第3例に係る試験モジュール200に含まれる機能ブロックのうち、第1例に係る試験モジュール200に含まれる機能ブロックと略同一の機能ブロックについては、同一の符号を付けて相違点を除き説明を省略する。
 第3例において、付加モジュール300は、第1の試験モジュール200-1および第2の試験モジュール200-2と接続される。第1の試験モジュール200-1は、バスIF部210と、試験部220とを含む。第1の試験モジュール200-1に含まれる試験部220は、試験プログラムを実行して、スキャン信号および制御信号を生成する。
 第1の試験モジュール200-1に含まれる試験部220は、被試験デバイス500をスキャン試験する場合には、スキャン信号を生成して、被試験デバイス500の試験用に設けられた端子から付加モジュール300へと出力する。また、第1の試験モジュール200-1に含まれる試験部220は、付加モジュール300を介して被試験デバイス500を試験する場合には、付加モジュール300に与えるデータ信号を生成して、被試験デバイス500の試験用に設けられた端子から付加モジュール300へと出力する。
 第2の試験モジュール200-2は、バスIF部210と、通信コントローラ240とを含む。通信コントローラ240は、付加モジュール300との間で所定の通信用インターフェイスによるデータの送受信を制御する。通信コントローラ240は、一例として、I2C(Inter-Integrated Ciruit)およびSPI(Serial Paripheral Interface)等によりデータを送受信する。
 第2の試験モジュール200-2に含まれる通信コントローラ240は、付加モジュール300を介して被試験デバイス500を試験する場合には、制御装置130から受け取った付加モジュール300に対するアクセス要求を、所定の通信用インターフェイスを介して付加モジュール300に与える。このような第2の試験モジュール200-2は、通信用インターフェイスを介して付加モジュール300を制御することができる。
 図9は、本実施形態に係る試験装置100の機能構成の一例を示す。試験装置100は、試験プログラムを実行して、少なくとも1つの被試験デバイス500を試験する。
 制御装置130は、演算処理部410と、試験プログラム記憶部440と、プログラム供給部450とを有する。複数の試験モジュール200のそれぞれは、実行処理部420と、1または複数の通信処理部430とを有する。
 付加モジュール300は、何れかの試験モジュール200の1または複数の通信処理部430の何れかに接続される。ここで、付加モジュール300は、接続された通信処理部430内の一部の機能を有してもよい。
 付加モジュール300は、例えば、詳細を図11において説明するパケット通信部434における、送信部36および受信部82を、パケット通信部434に代わって有してもよい。また、付加モジュール300は、パケット通信部434における、パケット命令列記憶部24、パケットデータ列記憶部26、下位シーケンサ28、データ処理部32、データ変換部34、送信部36および受信部82を、パケット通信部434に代わって有してもよい。
 それぞれの実行処理部420は、例えばバスを介して、演算処理部410に接続される。それぞれの通信処理部430は、何れかの実行処理部420に接続される。
 演算処理部410は、試験プログラム中の演算式を処理する。それぞれの実行処理部420は、試験プログラム中の複数のパケットリストのうち、当該実行処理部420に接続されたそれぞれの通信処理部430が実行すべきパケットリストを指定する。それぞれの通信処理部430は、対応する実行処理部420により指定されたパケットリストに含まれるパケットを、対応する被試験デバイス500との間で順次に通信する。
 試験装置100は、一例として、1個の演算処理部410と、8個の実行処理部420と、256個の通信処理部430とを備えてよい。この場合、8個の実行処理部420のそれぞれには、一例として、32個の通信処理部430が接続される。試験装置100は、このような接続構成に限らず、他の接続構成であってよい。
 試験プログラム記憶部440は、試験プログラムを記憶する。プログラム供給部450は、試験に先立って、演算処理部410、実行処理部420および通信処理部430に試験プログラムをロードする。
 図10は、本実施形態に係る演算処理部410の構成の一例、および、複数の実行処理部420および複数の通信処理部430のうちの代表する一の実行処理部420および通信処理部430の構成を示す。演算処理部410は、変数記憶部412と、演算部414とを有する。それぞれの実行処理部420は、フロー制御部426を有する。また、それぞれの通信処理部430は、パケットリスト記憶部432と、パケット通信部434とを有する。なお、パケットリスト記憶部432は、パケット通信部434の外部に記載しているが、パケット通信部434の内部に設けられてもよい。
 プログラム供給部450は、試験プログラム記憶部440に記憶された試験プログラムから、対応する通信処理部430により通信される一連のパケットをそれぞれ含む複数のパケットリストを抽出して、対応する通信処理部430内のパケットリスト記憶部432に格納する。また、プログラム供給部450は、試験プログラムから抽出した複数のパケットリストを順次に実行させる制御フローを記述した制御プログラムを生成して、フロー制御部426に供給する。また、プログラム供給部450は、試験プログラムから抽出した演算式を実行する演算プログラムを生成して、演算部414に供給する。
 フロー制御部426は、試験プログラムの実行フローに応じて、対応する通信処理部430内のパケット通信部434に対して、複数のパケットリストのそれぞれを実行する順序を指定する。より具体的には、フロー制御部426は、プログラム供給部450から供給された制御プログラムを実行して、対応する通信処理部430内のパケット通信部434に対して、パケットリスト記憶部432に格納された複数のパケットリストのうち次に実行すべきパケットリストを特定する。フロー制御部426は、一例として、次に実行すべきパケットリストのパケットリスト記憶部432におけるアドレスをパケット通信部434へ送信する。
 また、フロー制御部426は、制御プログラムに演算式が含まれる場合、当該演算式を実行する演算プログラムを呼び出して演算処理部410内の演算部414に実行させる。そして、フロー制御部426は、演算処理部410による演算式の演算結果に基づき、次に実行すべきパケットリストを特定する。この場合において、フロー制御部426は、演算処理部410による演算結果を受け取るまで次のパケットリストの特定を待機して、演算結果に応じて特定するパケットリストを選択してもよい。
 パケットリスト記憶部432は、プログラム供給部450から供給された複数のパケットリストを記憶する。パケット通信部434は、対応する実行処理部420内のフロー制御部426により順次指定されるパケットリストに含まれる一連のパケットを、対応する被試験デバイス500との間で順次通信して、対応する被試験デバイス500を試験する。
 パケット通信部434は、一例として、フロー制御部426から受信したアドレスからパケットリストを読み出して、読み出したパケットリストに含まれる一連のパケットを対応する被試験デバイス500との間で順次に通信する。また、パケット通信部434は、被試験デバイス500から受信したパケットに含まれるデータ値を、変数値としてフロー制御部426を介して演算処理部410内の変数記憶部412へと送信する。
 変数記憶部412は、複数の通信処理部430が有する複数のパケット通信部434のそれぞれから受信したデータ値を、変数値として記憶する。演算部414は、試験プログラムに含まれる演算式を実行して、実行結果を複数の実行処理部420内のフロー制御部426に送信する。また、演算部414は、演算式に被試験デバイス500から受信したデータ値を含む場合、演算式のパラメータとなる変数値を変数記憶部412から読み出して、演算式により指定された計算をする。また、演算部414は、被試験デバイス500へ送信するパケットに含まれるデータ値を、変数値としてパケット通信部434へと送信してもよい。
 このような試験装置100は、上位側の演算処理部410に試験プログラム中の演算式を実行させ、下位側のフロー制御部426およびパケット通信部434にフロー制御を実行させる。これにより、試験装置100によれば、上位側の演算処理部410を演算能力の高いプロセッサにより実現して変数を集中管理させ、下位側のフロー制御部426およびパケット通信部434を動作周波数の高いプロセッサまたはシーケンサにより実現して、全体として効率の良いシステムを構築することができる。
 また、このような試験装置100は、上位側の演算処理部410において被試験デバイス500から受信したデータ値を変数として記憶する。従って、このような試験装置100によれば、一の被試験デバイス500から受信したパケットの内容を、他の被試験デバイス500に対して送信するパケットに反映させることができる。
 さらに、このような試験装置100は、被試験デバイス500から受信したデータ値を、下位側の通信処理部430から上位側の演算処理部410に転送するので、受信したデータに対して複雑な演算をすることができる。そして、試験装置100は、このような演算結果を、上位側の演算処理部410から下位側の通信処理部430に転送するので、受信データに対して複雑な演算をして得られたデータを、新たに生成するパケットに含めることができる。
 図11は、本実施形態に係るパケット通信部434の構成を示す。パケット通信部434は、送信側ブロック12と、受信側ブロック14とを含む。送信側ブロック12は、パケットリストにより指定された順序でパケットを被試験デバイス500に送信する。受信側ブロック14は、被試験デバイス500からパケットを受信して、パケットリストに指定されたパケットと受信したパケットと比較して、被試験デバイス500の良否を判定する。
 まず、送信側ブロック12について説明する。送信側ブロック12は、パケットリスト記憶部432と、パケットリスト処理部22と、パケット命令列記憶部24と、パケットデータ列記憶部26と、下位シーケンサ28と、データ処理部32と、データ変換部34と、送信部36とを含む。パケットリスト記憶部432は、プログラム供給部450から供給された複数のパケットリストを記憶する。
 パケットリスト処理部22は、パケットリスト記憶部432に記憶された複数のパケットリストのうちフロー制御部426により指定されたパケットリストを実行して、被試験デバイス500と通信する各パケットを順次指定する。パケットリスト処理部22は、一例として、フロー制御部426から受信したアドレスからパケットリストを実行して、被試験デバイス500に送信するパケットを順次指定する。
 パケットリスト処理部22は、一例として、指定したパケットを発生するための命令列が記憶されたパケット命令列記憶部24上のアドレスを指定する。更に、パケットリスト処理部22は、一例として、被試験デバイス500との間で通信するパケットについて、パケットデータ列記憶部26内における当該パケットに含まれるデータ列のアドレス(例えばデータ列の先頭アドレス)を指定する。
 このようにパケットリスト処理部22は、パケットを発生させるための命令列のアドレスと、当該パケットに含まれるデータ列のアドレスを個別に指定する。なお、この場合において、パケットリスト中において、2以上のパケットに対して共通する命令列またはデータ列が指定されている場合に、パケットリスト処理部22は、当該2以上のパケットについて同一の命令列のアドレスまたは同一のデータ列のアドレスを指定してもよい。
 パケット命令列記憶部24は、複数種類のパケットのそれぞれを発生するための命令列を、パケットの種類毎に記憶する。パケット命令列記憶部24は、一例として、ライトパケットを発生するための命令列、リードパケットを発生するための命令列、および、アイドルパケットを発生するための命令列等を記憶する。
 パケットデータ列記憶部26は、複数種類のパケットのそれぞれに含まれるデータ列を、パケットの種類毎に記憶する。パケットデータ列記憶部26は、一例として、ライトパケットに含まれるデータ列、リードパケットに含まれるデータ列、および、アイドルパケットに含まれるデータ列等を含んでよい。また、パケットデータ列記憶部26は、一例として、パケット毎に変更される個別データ、および、パケットの種類毎に共通の共通データを別個の記憶領域に区別して記憶してもよい。なお、パケットデータ列記憶部26の構成の一例については、図12において説明する。
 更に、送信側のパケットデータ列記憶部26は、受信側ブロック14内のデータ変換部34から、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データを受け取る。そして、送信側のパケットデータ列記憶部26は、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データを記憶する。
 下位シーケンサ28は、パケットリスト処理部22により指定されたパケットの命令列、即ち、パケットリスト処理部22によりアドレスが指定された命令列をパケット命令列記憶部24から読み出して、読み出した命令列に含まれる各命令を順次に実行する。更に、下位シーケンサ28は、パケットリスト処理部22により指定されたパケットのデータ列、即ち、パケットリスト処理部22によりアドレスが指定されたデータ列を、命令列の実行に従って順次にパケットデータ列記憶部26から出力させて、被試験デバイス500との間の試験に用いる試験データ列を生成する。
 また、下位シーケンサ28は、命令の実行毎に、読み出した個別データおよび共通データに対して指定した処理(演算またはデータ変換)を施すことを指示する制御データをデータ処理部32およびデータ変換部34に与える。これにより、下位シーケンサ28は、パケットリスト処理部22により指定されたパケット中における、指定されたデータ部分を、読み出したデータに対して指定した処理を施したデータとすることができる。
 また、下位シーケンサ28は、パケットリスト処理部22により指定されたパケットの命令列の実行が完了したことに応じて、終了通知をパケットリスト処理部22に与えてよい。これにより、パケットリスト処理部22は、下位シーケンサ28による命令列の実行の進行に応じて、順次にパケットを指定することができる。
 また、送信側ブロック12が有する送信側の下位シーケンサ28は、送信部36に対して、被試験デバイス500に対して送信する信号のエッジタイミングを指定する。下位シーケンサ28は、一例として、送信部36に対してタイミング信号を与えて、パケット毎にエッジタイミングを制御する。
 また、送信側の下位シーケンサ28は、受信側ブロック14が有する受信側の下位シーケンサ28と通信を行う。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28とハンドシェイクを行って、受信側の下位シーケンサ28と同期して命令列を実行することができる。
 送信側の下位シーケンサ28は、一例として、予め指定されたパケットの試験データ列を被試験デバイス500に送信したことを受信側の下位シーケンサ28に通知する。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28に、送信側の下位シーケンサ28からの通知を受けるまでの間、受信したデータ列の良否判定を禁止させることができる。
 また、送信側の下位シーケンサ28は、一例として、受信側の下位シーケンサ28から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成する。これにより、送信側の下位シーケンサ28は、所定のパケットを被試験デバイス500から受信した後に、予め指定されたパケットを被試験デバイス500に送信することができる。
 データ処理部32は、パケットデータ列記憶部26からパケットリスト処理部22により指定されたパケットのデータ列を読み出して、被試験デバイス500の試験に用いる試験データ列を生成する。この場合において、送信側のデータ処理部32は、被試験デバイス500に対して送信するパケットに応じた試験データ列中に、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データに応じた値を含めてよい。
 例えば、送信側のデータ処理部32は、送信側のパケットデータ列記憶部26からデータを読み出して、被試験デバイス500に対して送信するパケットのデータ列における予め指定された部分を受信データに応じた値(例えば受信データそのままの値または受信データに何らかの処理を施した値)とした試験データ列を生成する。このような送信側のデータ処理部32は、被試験デバイス500から受信したパケットに含まれていた受信データに応じた値を、パケットに含めて送信することができる。なお、データ処理部32の構成の一例については、図13において説明する。
 データ変換部34は、下位シーケンサ28から指定されたタイミングにおいて、データ処理部32から出力した試験データ列をデータ変換する。データ変換部34は、一例として、試験データ列に対して予め設定されたテーブル等により8b-10b変換等を行う。更に、データ変換部34は、一例として、試験データ列に対してスクランブル処理を行ってもよい。そして、データ変換部34は、変換したデータ列を出力する。
 送信部36は、データ変換部34が生成した試験データ列を、被試験デバイス500に対して送信する。送信部36の構成の一例については、図14において説明する。
 つぎに、受信側ブロック14について説明する。受信側ブロック14は、送信側ブロック12と略同一の構成および機能を有するので、受信側ブロック14については、送信側ブロック12の相違点について説明をする。
 受信側ブロック14は、パケットリスト記憶部432と、パケットリスト処理部22と、パケット命令列記憶部24と、パケットデータ列記憶部26と、下位シーケンサ28と、データ処理部32と、データ変換部34と、受信部82と、判定部84とを含む。受信部82は、被試験デバイス500からパケットのデータ列を受信する。受信部82の構成の一例については、図15において説明する。
 受信側のデータ変換部34は、受信側の下位シーケンサ28から指定されたタイミングにおいて、受信部82により受信されたデータ列をデータ変換する。受信側のデータ変換部34は、一例として、受信したデータ列に対して予め設定されたテーブル等により8b-10b変換等を行う。更に、受信側のデータ変換部34は、一例として、受信したデータ列に対してデスクランブル処理を行ってもよい。
 そして、受信側のデータ変換部34は、変換したデータ列を判定部84へ供給する。また、受信側のデータ変換部34は、変換したデータ列を、受信側のパケットデータ列記憶部26または送信側のパケットデータ列記憶部26の少なくとも一方に供給してもよい。
 受信側のパケットリスト処理部22は、フロー制御部426により指定されたパケットリストを実行して、被試験デバイス500から受信されると期待されるパケットを順次指定する。また、受信側のデータ処理部32は、生成した試験データ列を判定部84に供給する。
 受信側の下位シーケンサ28は、被試験デバイス500から出力が期待されるパケットのデータ列を、試験データ列として受信側のパケットデータ列記憶部26から出力させる。また、受信側の下位シーケンサ28は、受信部82に対して、被試験デバイス500から出力された信号のデータ値を取り込むストローブタイミングを指定する。
 判定部84は、受信側のデータ処理部32から試験データ列を受け取るとともに、受信側のデータ変換部34から受信したデータ列を受け取る。判定部84は、受信したデータ列を試験データ列と比較した結果に基づいて、被試験デバイス500との間の通信の良否を判定する。判定部84は、一例として、受信部82が受信したデータ列と試験データ列とが一致するか否かを比較する論理比較部と、比較結果を記憶するフェイルメモリとを含む。また、判定部84は、一例として、受信部82が受信したデータ列が指定されたデータ列と一致したことを受信側の下位シーケンサ28に通知してもよい。
 また、受信側の下位シーケンサ28は、送信側の下位シーケンサ28と通信を行う。これにより、受信側の下位シーケンサ28は、送信側の下位シーケンサ28とハンドシェイクを行って、送信側の下位シーケンサ28と同期して命令列を実行することができる。
 受信側の下位シーケンサ28は、一例として、当該受信側の下位シーケンサ28が生成した試験データ列と一致するデータ列を受信したことを送信側の下位シーケンサ28に通知する。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成することができる。
 また、受信側の下位シーケンサ28は、一例として、送信側の下位シーケンサ28から、予め指定されたパケットの試験データ列を被試験デバイス500に送信したことの通知を受けるまでの間、判定部84による受信部82が受信したデータ列の良否判定を禁止する。これにより、受信側の下位シーケンサ28は、所定のパケットを被試験デバイス500へ送信した後に、当該所定のパケットに応じた応答が被試験デバイス500から出力されたか否かを判定することができる。
 受信側のパケットデータ列記憶部26は、受信側ブロック14側のデータ変換部34から受信部82が受信したパケットに含まれる受信データを受け取る。そして、受信側のパケットデータ列記憶部26は、受信部82が受信したパケットに含まれる受信データを記憶する。
 更に、受信側のデータ処理部32は、被試験デバイス500から出力が期待されるパケットに含まれる試験データ列に、受信部82が既に受信したパケットに含まれる受信データに応じた値を含める。例えば、受信側のデータ処理部32は、受信側のパケットデータ列記憶部26からデータを読み出して、被試験デバイス500からの受信を期待するパケットのデータ列における予め指定された部分を、受信データに応じた値(例えば受信データそのままの値又は何らかの処理を施した値)とした試験データ列を生成する。
 例えば、受信側のデータ処理部32は、被試験デバイス500から受信すべき第2のパケットに応じた試験データ列中に、受信部82が既に受信した第1のパケットに含まれる受信データに応じた値を含めてよい。これにより、受信側のデータ処理部32によれば、例えば、被試験デバイス500から受信したパケットに含まれるID等を参照して、次以降のパケットに含まれるべきIDが正しいか否かを判定することができる。
 以上のように、本実施形態に係る試験装置100によれば、受信したパケットに含まれる受信データに応じた値を次以降のパケット内に含める処理を、被試験デバイス500に比較的に近い位置で行うことができる。これにより、試験装置100によれば、被試験デバイス500とのやり取りの応答を高速にすることができる。
 また、試験装置100は、比較的に動作周波数の高い演算処理ユニット等により実現されたデータ処理部32を備えることが好ましい。これにより、試験装置100は、受信したパケットに含まれるデータから、次以降のパケットに含めるデータを生成する処理を高速に行うことができる。
 図12は、本実施形態に係る下位シーケンサ28およびパケットデータ列記憶部26の構成の一例を示す。パケットデータ列記憶部26は、一例として、共通データ記憶部40と、共通データポインタ42と、第1の個別データ記憶部44-1と、第2の個別データ記憶部44-2と、第1の個別データポインタ46-1と、第2の個別データポインタ46-2とを含んでよい。
 共通データ記憶部40は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケットの種類毎に共通の共通データを記憶する。共通データ記憶部40は、一例として、パケットの種類毎に、パケットの始まりを示すスタートコード、パケットの終わりを示すエンドコード、および、当該パケットの種別を識別するためのコマンドコード等を記憶する。
 共通データポインタ42は、パケットリスト処理部22により指定されたパケットに含まれる共通データが格納されたブロックの先頭アドレスを、パケットリスト処理部22から取得する。更に、共通データポインタ42は、当該ブロック内におけるオフセット位置を、下位シーケンサ28から取得する。そして、共通データポインタ42は、先頭アドレスおよびオフセット位置に基づき定まるアドレス(例えば先頭アドレスにオフセット位置を加算したアドレス)を共通データ記憶部40に与えて、当該アドレスに格納された共通データをデータ処理部32へ供給させる。
 第1及び第2の個別データ記憶部44-1、44-2は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケット毎に変更する個別データを記憶する。第1及び第2の個別データ記憶部44-1、44-2は、一例として、各パケットに含まれる、被試験デバイス500に対して送信する実体データまたは被試験デバイス500から受信する実体データを記憶してよい。
 第1の個別データ記憶部44-1は、実行されるパケットリストに関わらず予め定められた個別データを記憶する。第2の個別データ記憶部44-2は、実行されるパケットリスト毎に変更される個別データを記憶する。第2の個別データ記憶部44-2は、一例として、試験に先立ってまたは試験中において適宜に、実行処理部420内のフロー制御部426から個別データの転送を受ける。
 更に、第2の個別データ記憶部44-2は、受信側ブロック14が有する受信側のデータ変換部34から受信部82により受信された受信データを受け取り、受け取った受信データを個別データとして記憶する。これにより、データ処理部32は、第2の個別データ記憶部44-2から受信データを読み出して、試験データ列に含めることができる。
 第1及び第2の個別データポインタ46-1、46-2は、パケットリスト処理部22により指定されたパケットに含まれる個別データが格納されたブロックの先頭アドレスを、パケットリスト処理部22から受け取る。更に、第1及び第2の個別データポインタ46-1、46-2は、当該ブロック内におけるオフセット位置を、下位シーケンサ28から取得する。そして、第1及び第2の個別データポインタ46-1、46-2は、先頭アドレスおよびオフセット位置に基づき定まるアドレス(例えば先頭アドレスにオフセット位置を加算したアドレス)を第1及び第2の個別データ記憶部44-1、44-2に与えて、当該アドレスに格納された個別データをデータ処理部32へ供給させる。
 下位シーケンサ28は、一例として、パケットリスト処理部22により指定されたパケットに含まれるデータ列が格納されたブロック中における、実行した命令に対応するデータの位置を表わすオフセット位置を、共通データポインタ42、個別データポインタ46-1および個別データポインタ46-2に供給する。この場合において、下位シーケンサ28は、最初の命令において初期値を発生して、実行する命令が遷移する毎にインクリメントされるカウント値を、オフセット位置として発生してもよい。これにより、下位シーケンサ28は、パケットリスト処理部22により指定されたパケットのデータ列、即ち、パケットリスト処理部22によりアドレスが指定されたデータ列を、命令列の実行に従って順次にパケットデータ列記憶部26から出力させて、被試験デバイス500との間の試験に用いる試験データ列を生成することができる。
 また、下位シーケンサ28は、命令の実行毎に、共通データ記憶部40、第1の個別データ記憶部44-1、第2の個別データ記憶部44-2、または、データ処理部32内の指定した処理を施したデータが格納されたレジスタのいずれからデータを読み出して出力するかを、データ処理部32に対して指定する。
 これにより、下位シーケンサ28は、パケットリスト処理部22により指定されたパケット中における、パケット毎に変更すべきデータ部分を個別データ記憶部44から読み出した個別データから生成することができる。更に、下位シーケンサ28は、パケットリスト処理部22により指定されたパケット中における、パケットの種類毎に共通するデータ部分を共通データ記憶部40から読み出した共通データから生成することができる。また、更に、下位シーケンサ28は、パケットリスト処理部22により指定されたパケット中における指定されたデータ部分に対して、指定した処理を施すことができる。
 図13は、本実施形態に係る送信側ブロック12内のデータ処理部32の構成の一例を示す。送信側ブロック12内のデータ処理部32は、一例として、少なくとも1つのレジスタ52と、前段選択部54と、少なくとも1つの演算器56と、後段選択部60とを含む。
 少なくとも1つのレジスタ52のそれぞれは、前サイクルの演算処理結果を記憶する。本例においては、データ処理部32は、第1のレジスタ52-1と、第2のレジスタ52-2とを含む。
 前段選択部54は、サイクル毎に、共通データ記憶部40からの共通データ、それぞれの個別データ記憶部44(本例においては第1の個別データ記憶部44-1および第2の個別データ記憶部44-2)からの個別データ、および、それぞれのレジスタ52(本例においては第1のレジスタ52-1および第2のレジスタ52-2)のデータのうち、下位シーケンサ28により指定されたデータを選択する。そして、前段選択部54は、サイクル毎に、選択したデータのそれぞれを、下位シーケンサ28により指定された、演算器56または後段選択部60に供給する。
 少なくとも1つの演算器56のそれぞれは、少なくとも1つのレジスタ52のそれぞれに対応して設けられる。本例においては、データ処理部32は、第1のレジスタ52-1に対応する第1の演算器56-1と、第2のレジスタ52に対応する第2の演算器56-2とを含む。演算器56のそれぞれは、一例として、論理演算、四則演算、擬似乱数発生および誤り訂正符号生成等の演算を行う。演算器56のそれぞれは、サイクル毎に、前段選択部54により選択されたデータに対して、下位シーケンサ28により指定された演算をして対応するレジスタ52に格納する。
 後段選択部60は、サイクル毎に、前段選択部54が選択したデータ(本例においては、共通データ記憶部40、第1の個別データ記憶部44-1または第2の個別データ記憶部44-2からのデータ)、および、少なくとも1つのレジスタ52内のデータのうち、下位シーケンサ28により指定されたデータを選択する。そして、後段選択部60は、選択したデータを試験データ列の各データとして出力する。
 図14は、本実施形態に係る送信側ブロック12内の送信部36の構成の一例を示す。送信部36は、一例として、シリアライザ72と、フォーマットコントローラ74と、ドライバ76とを含む。
 シリアライザ72は、データ処理部32から受け取った試験データ列をシリアルの波形パターンに変換する。フォーマットコントローラ74は、シリアライザ72から受け取った波形パターンに応じた波形を有する信号を生成する。更に、フォーマットコントローラ74は、下位シーケンサ28により指定されたエッジタイミングにおいて、論理が変化する波形の信号を出力する。ドライバ76は、フォーマットコントローラ74から出力された信号を被試験デバイス500に供給する。
 図15は、本実施形態に係る受信側ブロック14内の受信部82の構成の一例を示す。受信部82は、一例として、レベルコンパレータ86と、タイミングコンパレータ88と、デシリアライザ90と、位相調整部92と、ハント部94とを含む。
 レベルコンパレータ86は、被試験デバイス500から出力された信号を閾値と比較して、論理信号を出力する。タイミングコンパレータ88は、下位シーケンサ28により指定されたストローブタイミングで、レベルコンパレータ86により出力された論理信号のデータを順次に取り込む。
 デシリアライザ90は、タイミングコンパレータ88により取り込まれたデータ列をパラレルのデータ列に変換する。位相調整部92は、パケットの先頭の特定コードを検出して、デシリアライザ90によるパラレルのデータ列の切り出し位相を調整する。ハント部94は、タイミングコンパレータ88により取り込まれたデータ列をパケットの先頭の特定コードと比較して、パケットの先頭位置をビット単位で調整する。
 このような受信部82は、被試験デバイス500から非確定なタイミングで出力されるパケットを受信することができる。これにより、受信側ブロック14によれば、被試験デバイス500から非確定なタイミングで出力されたパケットに含まれるデータ列と、被試験デバイス500からの出力が期待される試験データ列とを比較することができる。
 図16は、本実施形態に係るパケットリストの一例を示す。パケットリストには、順次に実行される複数の命令が記述される。パケットリストには、一例として、NOP命令、IDXI命令およびEXIT命令等が記述される。NOP命令は、実行を次の命令に遷移させる。IDXI命令は、指定された回数実行を繰り返した後、実行を次の命令に遷移させる。EXIT命令は、当該パケットシーケンスの実行を終了させる。
 また、パケットリストには、各命令に対応して、パケット関数が記述される。パケットリストには、一例として、ライトパケット、リードパケット、および、所定のコードを発生するアイドルパケット等を発生するパケット関数が記述される。
 更に、パケットリストには、各パケット関数に対応して、当該パケット関数により特定されるパケットを発生するための命令列の先頭アドレス、当該パケット関数により特定されるパケットに含まれる共通データおよび個別データの先頭アドレスが記述される。パケットリスト処理部22は、このようなパケットリストを実行することにより、各命令を順次に実行する毎に、実行した命令に対応するパケット関数を呼び出すことができる。
 図17は、本実施形態に係るパケット通信部434にコンパイルしてロードされたパケット関数の一例を示す。パケット通信部434にロードされたパケット関数には、順次に実行される複数の命令が記述される。
 パケット関数には、一例として、NOP命令、IDXI命令およびRTN命令等が記述される。NOP命令は、ポインタにより指定されたアドレスに格納されたデータを1回出力して、実行を次の命令に遷移させる。IDXI命令は、ポインタにより指定されたアドレスに格納されたデータを指定した回数分繰り返して出力して、実行を次の命令に遷移させる。RTN命令は、ポインタにより指定されたアドレスに格納されたデータを1回出力して、実行をパケットリストに戻す。
 また、パケット関数には、各命令に対応して制御データが記述される。制御データは、一例として、演算器56に与える演算式を含む。図17の例においては、制御データは、当該第1のレジスタ52-1のデータと出力するデータとの排他的論理和を、第1のレジスタ52-1に書き戻す演算式(REG1=REG1^DB1またはREG1=REG1^DB2)を含む。これに代えて、制御データは、データ変換部34による変換処理を指定してもよい。
 また、パケット関数は、各命令に対応して、当該命令に対応して出力すべきデータの格納場所を指定する情報が記述される。パケット関数は、一例として、格納場所として、共通データ記憶部40、個別データ記憶部44およびレジスタ52の何れかを指定する。
 図17の例においては、0x0Fまたは0x01といった十六進数値は、データの格納場所として共通データ記憶部40のアドレスを示す。また、DB1は、データの格納場所として第1の個別データ記憶部44-1を示す。DB2は、データの格納場所として第2の個別データ記憶部44-2を示す。REG1は、データの格納場所として第1のレジスタ52-1を示す。下位シーケンサ28は、このようなパケット関数に示される命令列を実行することにより、各パケット関数により指定されたデータ列を出力することができる。
 図18は、本実施形態に係る試験装置100の処理フローを示す。まず、パケットリスト処理部22は、パケットリストを実行して、被試験デバイス500との間で通信する各パケットを順次指定する(S11、S16)。そして、下位シーケンサ28は、パケットリスト処理部22によるパケットの指定を受けると、ステップS12からステップS15の処理を繰り返して実行する。
 下位シーケンサ28は、パケットの指定を受けると、当該パケットを発生するための命令列を、パケット命令列記憶部24から呼び出して、先頭の命令から順次に実行する。下位シーケンサ28は、各命令の実行毎に、ステップS13及びステップS14の処理を行う(S12、S15)。
 ステップS13において、下位シーケンサ28は、当該命令に対応するデータを出力する。また、ステップS14において、下位シーケンサ28は、当該命令に対応する、演算またはデータ変換を実行させる。下位シーケンサ28は、ステップS13およびステップS14を並行して実行する。
 下位シーケンサ28は、最後の命令を実行すると、処理をパケットリスト処理部22に戻して、パケットリスト処理部22から次のパケットの指定を受ける(S15)。そして、パケットリスト処理部22は、パケットシーケンスにおける最後のパケットまでの処理が完了すると、当該フローを終了する(S16)。
 以上のような本実施形態に係る試験装置100によれば、パケットシーケンスを表わすパケットリストと、パケット内の命令列とが、別個のシーケンサにより実行される。これにより、試験装置100によれば、プログラムの記述を簡単にすることができる。更に、試験装置100によれば、共通の種類のパケットを発生するための命令列およびデータを共用化することができるので、格納する情報量を少なくすることができる。
 更に、本実施形態に係る試験装置100は、下位シーケンサ28が実行する命令列のアドレスおよび下位シーケンサ28が読み出すデータ列のアドレスを、パケットリスト処理部22から個別に指定する。これにより、試験装置100によれば、同一の命令列によって、異なるデータ列を発生することができる。従って、試験装置100によれば、同一の命令列を複数個格納しなくてよいので、格納する情報量を少なくすることができる。
 更に、本実施形態に係る試験装置100は、共通データ記憶部40および個別データ記憶部44から読み出したデータに対して指定された処理(即ち、演算または変換)を、データ処理部32が実行する。即ち、データ処理部32は、パケット通信における下位層(物理層に近い層)の規定に応じて処理されるべきデータ変換および誤り検出符号を生成することができる。
 これにより、試験装置100は、パケット通信における上位層のデータを出力させるための命令列およびデータ列を生成して、パケット通信における下位層における処理を別個に指定すればよい。従って、試験装置100によれば、プログラムの記述を簡単にすることができ、更に、格納する情報量を少なくすることができる。
 更に、本実施形態に係る試験装置100は、被試験デバイス500へ信号を送信するための試験データ列を生成する送信側ブロック12と、被試験デバイス500から受信した信号と比較するための試験データ列を生成する受信側ブロック14とを分離して、それぞれにパケットリスト処理部22および下位シーケンサ28を有する。試験装置100によれば、送信側および受信側のプログラムを独立に記述できるので、プログラムを簡単にすることができる。
 そして、試験装置100は、送信側の下位シーケンサ28と受信側の下位シーケンサ28との間で通信することができる。これにより、試験装置100によれば、例えば送信側に発生したイベントをトリガとして受信側の動作を開始したり、受信側に発生したイベントをトリガとして送信側の動作を開始したりすることが容易となる。
 なお、試験装置100は、送信側ブロック12および受信側ブロック14の組を、複数備える構成であってもよい。この場合、実行処理部420は、送信側ブロック12および受信側ブロック14の組のそれぞれに別個のシーケンス(別個のパケットリスト)を与えて、互いに独立に実行させる。これにより、試験装置100は、送信側ブロック12および受信側ブロック14の組のそれぞれを、互いに非同期に動作させることができる。
 また、実行処理部420は、送信側ブロック12および受信側ブロック14の組のそれぞれを、互いに同期して動作させてもよい。この場合、実行処理部420は、送信側ブロック12および受信側ブロック14の組のそれぞれに同一のシーケンス(同一のパケットリスト)を与えて、互いに同期して実行を開始させる。これにより、試験装置100は、同一種類または異なる種類のパケット通信型インターフェイスを備えた複数の被試験デバイス500を、並行して試験することができる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
100 試験装置、110 テストヘッド、120 パフォーマンスボード、130 制御装置、200 試験モジュール、300 付加モジュール、500 被試験デバイス、510 CPUコアブロック、520 イメージコアブロック、600 メモリインターフェイス、700 通信インターフェイス、710 PCI-Expressインターフェイス、720 USBインターフェイス、730 SDインターフェイス、302 DUT通信機能ブロック、304 本体通信機能ブロック、310 試験用メモリ、320 直流試験ユニット、330 切替部、340 取得部、350 メモリ制御部、360 設定制御部、370 パケット通信部、380 データ通信部、210 バスIF部、220 試験部、230 パス、240 通信コントローラ、410 演算処理部、420 実行処理部、430 通信処理部、440 試験プログラム記憶部、450 プログラム供給部、412 変数記憶部、414 演算部、426 フロー制御部、432 パケットリスト記憶部、434 パケット通信部、12 送信側ブロック、14 受信側ブロック、22 パケットリスト処理部、24 パケット命令列記憶部、26 パケットデータ列記憶部、28 下位シーケンサ、32 データ処理部、34 データ変換部、36 送信部、40 共通データ記憶部、42 共通データポインタ、44 個別データ記憶部、46 個別データポインタ、52 レジスタ、54 前段選択部、56 演算器、60 後段選択部、72 シリアライザ、74 フォーマットコントローラ、76 ドライバ、82 受信部、84 判定部、86 レベルコンパレータ、88 タイミングコンパレータ、90 デシリアライザ、92 位相調整部、94 ハント部

Claims (18)

  1.  被試験デバイスを試験する試験装置であって、
     前記被試験デバイスとの間でパケットを通信して前記被試験デバイスを試験する試験モジュールと、
     前記被試験デバイスおよび前記試験モジュールの間に接続されて、前記試験モジュールと比較してより高速な通信およびより低レイテンシの通信の少なくとも一方を前記被試験デバイスとの間で行う付加モジュールと、
     を備える試験装置。
  2.  前記被試験デバイスに接続され、前記被試験デバイスとの間でパケットを通信する第1の前記試験モジュールと、
     前記付加モジュールに接続され、前記付加モジュールを制御する第2の前記試験モジュールと、
     を備える請求項1に記載の試験装置。
  3.  前記試験モジュールは、
     前記被試験デバイスに接続され、前記被試験デバイスとの間でパケットを通信する少なくとも1つの第1端子と、
     前記付加モジュールに接続され、前記付加モジュールを制御するための少なくとも1つの第2端子と、
     を備える請求項1に記載の試験装置。
  4.  前記試験モジュールは、
     前記被試験デバイスを試験するための試験プログラムを実行して、前記被試験デバイスとの間で通信する各パケットを順次指定するパケットリスト処理部と、
     複数種類のパケットのそれぞれに含まれるデータ列を記憶するパケットデータ列記憶部と、
     前記パケットデータ列記憶部から、前記パケットリスト処理部により指定されたパケットのデータ列を読み出して、前記被試験デバイスとの間の試験に用いる試験データ列を生成する下位シーケンサと、
     を有する請求項1から3の何れかに記載の試験装置。
  5.  前記試験モジュールは、
     前記被試験デバイスとの間で通信する一連のパケットをそれぞれ含む複数のパケットリストを記憶するパケットリスト記憶部と、
     前記被試験デバイスを試験する試験プログラムの実行フローに応じて、前記複数のパケットリストのそれぞれを実行する順序を指定するフロー制御部と、
     前記フロー制御部により順次指定されるパケットリストに含まれる一連のパケットを前記被試験デバイスとの間で順次通信して前記被試験デバイスを試験するパケット通信部と、
     を有する請求項1から4の何れかに記載の試験装置。
  6.  前記試験モジュールを搭載するテストヘッドと、
     前記テストヘッドに載置されて、前記試験モジュールおよび前記被試験デバイスとの間を接続するパフォーマンスボードと、
     を備え、
     前記付加モジュールは、前記パフォーマンスボードに搭載される
     請求項1から5の何れかに記載の試験装置。
  7.  前記付加モジュールは、授受するデータ値およびタイミングが予め試験プログラムにより特定できない信号を前記被試験デバイスとの間で通信し、授受するデータ値およびタイミングが予め前記試験プログラムにより特定できる信号を前記試験モジュールとの間で通信する請求項1から6の何れかに記載の試験装置。
  8.  前記付加モジュールは、前記被試験デバイスが外部のメモリをアクセスするためのメモリインターフェイスに接続される請求項1から7の何れかに記載の試験装置。
  9.  前記付加モジュールは、前記被試験デバイスによる前記メモリインターフェイスからのメモリアクセスを受け取って、当該メモリアクセスに応じて前記被試験デバイスとの間でデータを授受する試験用メモリを有する請求項8に記載の試験装置。
  10.  前記付加モジュールは、前記メモリインターフェイスを前記試験用メモリおよび前記試験モジュールのいずれに接続するかを切り替える切替部を有する請求項9に記載の試験装置。
  11.  前記付加モジュールは、前記メモリインターフェイスおよび前記試験用メモリの間で伝送される信号を取得する取得部を有する請求項9に記載の試験装置。
  12.  前記付加モジュールは、前記試験モジュールからの制御を受けて、前記試験用メモリをアクセスするメモリ制御部を有する請求項9に記載の試験装置。
  13.  前記付加モジュールは、
     前記被試験デバイスとの間でパケットを通信するパケット通信部と、
     前記試験モジュールとの間で前記パケットに含まれるデータを授受するデータ通信部と、
     を有する請求項1から12の何れかに記載の試験装置。
  14.  前記付加モジュールは、前記試験モジュールの端子を前記被試験デバイスに接続するか、前記パケット通信部を前記被試験デバイスへと接続するかを切り替える切替部を有する請求項13に記載の試験装置。
  15.  前記試験モジュールは、前記試験装置の制御装置からの前記付加モジュールへのアクセス要求を、前記付加モジュールへと転送するパスを有する請求項1から14の何れかに記載の試験装置。
  16.  前記試験モジュールは、前記被試験デバイスの試験用に設けられた端子を介して前記付加モジュールを制御する請求項1から14の何れかに記載の試験装置。
  17.  前記試験モジュールは、通信用インターフェイスを介して前記付加モジュールを制御する請求項1から14の何れかに記載の試験装置。
  18.  被試験デバイスを試験する試験装置を用いた試験方法であって、
     前記試験装置は、
     前記被試験デバイスとの間でパケットを通信して前記被試験デバイスを試験する試験モジュールと、
     前記被試験デバイスおよび前記試験モジュールの間に接続されて、前記試験モジュールと比較してより高速な通信およびより低レイテンシの通信の少なくとも一方を前記被試験デバイスとの間で行う付加モジュールと、
     を備え、
     前記試験モジュールが前記付加モジュールを介して前記被試験デバイスを試験する
     試験方法。
PCT/JP2009/002783 2008-06-20 2009-06-18 試験装置および試験方法 WO2009153996A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010504353A JP4843102B2 (ja) 2008-06-20 2009-06-18 試験装置および試験方法
US12/557,468 US8362791B2 (en) 2008-06-20 2009-09-10 Test apparatus additional module and test method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7415108P 2008-06-20 2008-06-20
US61/074,151 2008-06-20
US12/329,635 US8059547B2 (en) 2008-12-08 2008-12-08 Test apparatus and test method
US12/329,635 2008-12-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/329,635 Continuation-In-Part US8059547B2 (en) 2008-06-20 2008-12-08 Test apparatus and test method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/557,468 Continuation-In-Part US8362791B2 (en) 2008-06-20 2009-09-10 Test apparatus additional module and test method

Publications (1)

Publication Number Publication Date
WO2009153996A1 true WO2009153996A1 (ja) 2009-12-23

Family

ID=41433914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002783 WO2009153996A1 (ja) 2008-06-20 2009-06-18 試験装置および試験方法

Country Status (2)

Country Link
JP (1) JP4843102B2 (ja)
WO (1) WO2009153996A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154026A (ja) * 2010-01-26 2011-08-11 Advantest Corp 試験装置および試験方法
CN103368762A (zh) * 2012-04-05 2013-10-23 百度在线网络技术(北京)有限公司 大数据对比测试方法、系统及装置
JP2016115045A (ja) * 2014-12-12 2016-06-23 三菱電機株式会社 通信モジュールおよびモジュール試験システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040391A (ja) * 1998-05-13 2000-02-08 Advantest Corp メモリデバイス試験装置およびデ―タ選択回路
JP2001195899A (ja) * 2000-01-06 2001-07-19 Mitsubishi Electric Corp 半導体記憶装置
JP2002050196A (ja) * 2000-08-03 2002-02-15 Advantest Corp 半導体メモリ試験装置
WO2006058082A1 (en) * 2004-11-22 2006-06-01 Teradyne, Inc. Instrument with interface for synchronization in automatic test equipment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2705570B2 (ja) * 1994-05-25 1998-01-28 日本電気株式会社 パケットデータ発生器
JPH1117768A (ja) * 1997-06-20 1999-01-22 Nintendo Co Ltd データ放送方法およびシステム,放送データ送信方法および装置,放送データ受信方法および装置,ならびに個別送出手順データを記録した媒体
JP2002124099A (ja) * 2000-10-17 2002-04-26 Schlumberger Technologies Inc パケット式のメモリテスタ
JP4859269B2 (ja) * 2000-12-05 2012-01-25 株式会社アドバンテスト 半導体試験装置
JP2003344492A (ja) * 2002-05-24 2003-12-03 Yokogawa Electric Corp Icテスタのアダプタ装置
JP2004032145A (ja) * 2002-06-24 2004-01-29 Nec System Technologies Ltd 対話的なtcpパケットの生成システム、生成方法、及びプログラム
JP2004048394A (ja) * 2002-07-11 2004-02-12 Ipsquare Inc 半導体回路デバイス及びパケット処理方法
JP2007057541A (ja) * 2003-03-31 2007-03-08 Advantest Corp 試験エミュレート装置
JP2005017992A (ja) * 2003-06-30 2005-01-20 Yamaha Corp 演奏データ送信装置及び演奏システム並びに演奏方法
JP2007108041A (ja) * 2005-10-14 2007-04-26 Sony Corp テスト信号発生回路、機能追加回路モジュール、および、半導体デバイスの検査システム
JP2009543096A (ja) * 2006-07-10 2009-12-03 アステリオン・インコーポレイテッド 自動テスト装置におけるデジタル波形の生成および測定
JP2008065872A (ja) * 2006-09-05 2008-03-21 Sharp Corp 検査用半導体集積回路及び検査システム並びに検査方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040391A (ja) * 1998-05-13 2000-02-08 Advantest Corp メモリデバイス試験装置およびデ―タ選択回路
JP2001195899A (ja) * 2000-01-06 2001-07-19 Mitsubishi Electric Corp 半導体記憶装置
JP2002050196A (ja) * 2000-08-03 2002-02-15 Advantest Corp 半導体メモリ試験装置
WO2006058082A1 (en) * 2004-11-22 2006-06-01 Teradyne, Inc. Instrument with interface for synchronization in automatic test equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154026A (ja) * 2010-01-26 2011-08-11 Advantest Corp 試験装置および試験方法
CN103368762A (zh) * 2012-04-05 2013-10-23 百度在线网络技术(北京)有限公司 大数据对比测试方法、系统及装置
CN103368762B (zh) * 2012-04-05 2017-03-15 百度在线网络技术(北京)有限公司 大数据对比测试方法、系统及装置
JP2016115045A (ja) * 2014-12-12 2016-06-23 三菱電機株式会社 通信モジュールおよびモジュール試験システム

Also Published As

Publication number Publication date
JP4843102B2 (ja) 2011-12-21
JPWO2009153996A1 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
JP4934222B2 (ja) 試験装置および試験方法
JP4704178B2 (ja) 試験装置及び試験方法
US8362791B2 (en) Test apparatus additional module and test method
JP4885316B2 (ja) 試験装置および試験方法
US20110184687A1 (en) Test apparatus and test method
US7979745B2 (en) On-chip debug emulator, debugging method, and microcomputer
JPWO2008114701A1 (ja) 試験装置および電子デバイス
US7937633B2 (en) Semiconductor device using logic chip
JP4843102B2 (ja) 試験装置および試験方法
JP5183622B2 (ja) 試験装置、電子デバイスおよび試験方法
US8149721B2 (en) Test apparatus and test method
JP4792541B2 (ja) 試験装置および試験方法
US8483073B2 (en) Test apparatus and test method
JP2008293120A (ja) データ転送装置
US8165027B2 (en) Test apparatus and test method
US9557384B2 (en) Testing device
JPH11353265A (ja) 情報伝達装置
JPH09160797A (ja) 複数モジュールへのデータ転送方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2010504353

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09766444

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09766444

Country of ref document: EP

Kind code of ref document: A1