JP2009289108A - Testing device and method of controlling the same, and test system - Google Patents

Testing device and method of controlling the same, and test system Download PDF

Info

Publication number
JP2009289108A
JP2009289108A JP2008142106A JP2008142106A JP2009289108A JP 2009289108 A JP2009289108 A JP 2009289108A JP 2008142106 A JP2008142106 A JP 2008142106A JP 2008142106 A JP2008142106 A JP 2008142106A JP 2009289108 A JP2009289108 A JP 2009289108A
Authority
JP
Japan
Prior art keywords
processors
program
processing
main processor
workstation
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2008142106A
Other languages
Japanese (ja)
Inventor
Satoru Kondo
悟 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
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
Application filed by Advantest Corp filed Critical Advantest Corp
Priority to JP2008142106A priority Critical patent/JP2009289108A/en
Publication of JP2009289108A publication Critical patent/JP2009289108A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a test system for executing a program while achieving synchronization between a plurality of CPU. <P>SOLUTION: A test program includes a plurality of processing units. Synchronization processing setting data S10 showing the processing units whose synchronization processing should be performed between a plurality of site CPUs 10 are written in a shared memory 22. A plurality of site CPUs 10 perform access to the shared memory 22 to obtain the synchronization processing setting data S10. A plurality of site CPUs 10 respectively start the execution of the test program by using a start instruction S12 from a work station 110 as an opportunity. When completing the processing units whose synchronization processing should be performed, each site CPU 10 notifies a main processor 20 of the completion of processing, and temporarily stops the execution of the program. When receiving the notification of the completion of processing from all the site CPUs 10, the main processor 20 issues a resumption instruction S16 of the program. The plurality of site CPUs 10 start the next processing units of the program by using the resumption instruction S16 from the main processor 20 as an opportunity. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、半導体デバイスの試験装置に関する。   The present invention relates to a semiconductor device test apparatus.

複数の被試験デバイス(DUT)を効率的に試験するために、複数のCPU(Central Processing Unit)が搭載された試験装置が利用される。図1は、複数のCPU(以下、サイトCPUという)を搭載した自動試験装置(Automatic Test Equipment、以下ATEと称す)300の構成を示すブロック図である。試験システム400は、ATE300とワークステーション310を備える。ATE300は、複数のサイトCPU302_1〜302_nを備える。たとえば複数のサイトCPU302_1〜302_nは、複数のテストユニット(不図示)ごとに設けられており、対応するテストユニットを制御し、あるいはテストユニットから得られた試験結果を解析処理する。   In order to efficiently test a plurality of devices under test (DUT), a test apparatus equipped with a plurality of CPUs (Central Processing Units) is used. FIG. 1 is a block diagram showing the configuration of an automatic test equipment (hereinafter referred to as ATE) 300 equipped with a plurality of CPUs (hereinafter referred to as site CPUs). The test system 400 includes an ATE 300 and a workstation 310. The ATE 300 includes a plurality of site CPUs 302_1 to 302_n. For example, the plurality of site CPUs 302_1 to 302_n are provided for each of a plurality of test units (not shown), and control corresponding test units or analyze the test results obtained from the test units.

複数のサイトCPU302_1〜302_n(以下、必要に応じてこれらを単にサイトCPU302と総称する)は、それぞれが個別、独立にプログラムを実行可能である。ワークステーション310は一般的な構成を有する汎用のコンピュータであり、ATE300を統括的に制御するとともに、ユーザとATE300のインタフェースを提供する。   A plurality of site CPUs 302_1 to 302_n (hereinafter simply referred to as site CPUs 302 as necessary) can individually and independently execute programs. The workstation 310 is a general-purpose computer having a general configuration, and comprehensively controls the ATE 300 and provides an interface between the user and the ATE 300.

こうした構成を有する試験システム400では、プログラムが以下のフローに従って実行される。
1. ワークステーション310は、複数のサイトCPU302に対してプログラム起動命令S1を発行する。
2. プログラム起動命令S1が発行されると、各サイトCPU302は、起動されたプログラムを実行する。
3. 各サイトCPU302は、プログラムが終了すると、ワークステーション310に対して終了通知S2を送信する。
In the test system 400 having such a configuration, the program is executed according to the following flow.
1. The workstation 310 issues a program start command S1 to the plurality of site CPUs 302.
2. When the program activation instruction S1 is issued, each site CPU 302 executes the activated program.
3. Each site CPU 302 transmits an end notification S2 to the workstation 310 when the program ends.

図1の試験システム400において、複数のサイトCPU302を同期させる場合、以下のような問題が発生する。   In the test system 400 of FIG. 1, when synchronizing a plurality of site CPUs 302, the following problems occur.

たとえばATE300は、その起動直後に自己診断を実行する。この際、複数のサイトCPU302は診断用のプログラムを独自に並列的に実行する。すべてのサイトCPU302が同じプログラムを実行する場合であっても、サイトCPU302ごとに処理速度(処理能力)が異なったり、テストユニットごとに診断プログラム中のループ処理の回数が異なったりすると、サイトCPU302ごとに診断プログラムの進行状況や、処理を終了するタイミングが異なってくる。   For example, the ATE 300 performs a self-diagnosis immediately after its activation. At this time, the plurality of site CPUs 302 independently execute a diagnostic program in parallel. Even when all the site CPUs 302 execute the same program, if the processing speed (processing capability) differs for each site CPU 302 or the number of loop processes in the diagnostic program differs for each test unit, each site CPU 302 However, the progress of the diagnostic program and the timing to end the process are different.

この試験システム400において、複数のサイトCPU302同士で同期をとりながらプログラムを実行させたい場合、同期をとりたい処理単位ごとにプログラムを分割して記述しておき、すべてのサイトCPU302がひとつの処理単位を完了すると、一旦ワークステーション310に処理を戻し、続けて次のプログラムを起動させる必要がある。あるいは別の方法としては、同期をとりたいサイトCPU302ごとの終了フラグをプログラム内に組み込んでおき、すべてのフラグがアサートされるまで待機するといったソフトウェア的な処理が必要となる。かかる状況は、試験システム400のユーザが、プログラムをプログラミングする際の負担を増大させることになる。   In this test system 400, when it is desired to execute a program while synchronizing a plurality of site CPUs 302, the program is divided and described for each processing unit to be synchronized, and all the site CPUs 302 have one processing unit. When the process is completed, it is necessary to return the process to the workstation 310 and then start the next program. Alternatively, a software process is required in which an end flag for each site CPU 302 to be synchronized is incorporated in the program and waits until all the flags are asserted. Such a situation increases the burden on the user of the test system 400 when programming the program.

本発明はかかる状況に鑑みてなされたものであり、その目的は複数のCPU間で同期をとりながらプログラムを実行可能な試験システムの提供にある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a test system capable of executing a program while synchronizing a plurality of CPUs.

本発明のある態様は、外部に接続されるワークステーションと協調動作する試験装置に関する。この試験装置は、それぞれが独立して所定のプログラムを実行可能な複数のプロセッサと、メインプロセッサと、複数のプロセッサおよびメインプロセッサからアクセス可能な共有メモリと、を備える。この試験装置は、以下のステップを実行する。
1. 所定のプログラムに含まれる複数の処理単位のうち、複数のプロセッサ間で同期処理すべき処理単位を示すデータを、ワークステーションから受け、共有メモリに書き込むステップ
2. 複数のプロセッサが共有メモリにアクセスし、同期処理すべき処理単位を示すデータを取得するステップ
3. ワークステーションからの起動命令を契機として、複数のプロセッサがそれぞれ所定のプログラムの実行を開始するステップ
4. 複数のプロセッサがそれぞれ同期処理すべき処理単位を完了すると、メインプロセッサに処理完了を通知するとともに、プログラムの実行を一時停止するステップ
5. メインプロセッサが、すべてのプロセッサから処理完了の通知を受領すると、複数のプロセッサに対して、プログラムの再開命令を発行するステップ
6. メインプロセッサからの再開命令を契機として、複数のプロセッサがプログラムの次の処理単位の実行を開始するステップ
各ステップの実行順序は、処理に支障を来さない範囲で任意に設定される。
One embodiment of the present invention relates to a test apparatus that operates in cooperation with a workstation connected to the outside. This test apparatus includes a plurality of processors each capable of independently executing a predetermined program, a main processor, and a shared memory accessible from the plurality of processors and the main processor. The test apparatus performs the following steps.
1. 1. A step of receiving data indicating a processing unit to be synchronized among a plurality of processing units included in a predetermined program from a workstation and writing the data in a shared memory. 2. A plurality of processors access a shared memory and acquire data indicating a processing unit to be synchronized. 3. Start of execution of a predetermined program by each of a plurality of processors triggered by an activation command from the workstation. 4. When a plurality of processors complete a processing unit to be synchronously processed, the main processor is notified of the completion of processing and the program execution is temporarily stopped. 5. When the main processor receives notification of processing completion from all the processors, it issues a program restart instruction to the plurality of processors. Steps in which a plurality of processors start executing the next processing unit of a program triggered by a restart instruction from the main processor. The execution order of each step is arbitrarily set within a range that does not hinder processing.

「処理単位」とは、関数、メインルーチン、サブルーチン、プロシージャ、スレッド、プログラムモジュールとして把握でき、あるいはこれらの複数の集合体をいう。この態様によると、試験装置のユーザ(単にユーザともいう)がプログラム中で同期処理すべき処理単位(同期処理単位ともいう)を予め定義しておくことにより、すべてのプロセッサが同期処理単位を完了するまで、プログラムの実行を一時的に停止させることができ、同期処理が実現できる。   A “processing unit” can be understood as a function, main routine, subroutine, procedure, thread, program module, or a plurality of these. According to this aspect, by defining in advance a processing unit (also referred to as a synchronization processing unit) to be synchronized in the program by a user of the test apparatus (also referred to as a user), all processors complete the synchronization processing unit. Until then, the execution of the program can be temporarily stopped, and the synchronization process can be realized.

ワークステーションは、複数のプロセッサ間で同期処理すべき処理単位(同期処理単位)を複数指定してもよい。複数のプロセッサは、同期処理すべき処理単位をひとつ完了するごとに、メインプロセッサに処理完了を通知してもよい。   The workstation may designate a plurality of processing units (synchronous processing units) to be synchronized between a plurality of processors. The plurality of processors may notify the main processor of the completion of processing every time one processing unit to be synchronized is completed.

所定のプログラムは、試験装置の起動時に実行される自己診断プログラムであってもよい。   The predetermined program may be a self-diagnosis program executed when the test apparatus is activated.

本発明の別の態様は、試験システムである。この試験システムは、上述のいずれかの態様の試験装置と、試験装置に起動命令を発行するワークステーションと、を備える。   Another aspect of the present invention is a test system. This test system includes the test apparatus according to any one of the above-described aspects and a workstation that issues a start command to the test apparatus.

本発明のさらに別の態様は、外部に接続されるワークステーションと協調動作する試験装置の制御方法に関する。試験装置は、それぞれが独立して所定のプログラムを実行可能な複数のプロセッサと、メインプロセッサと、複数のプロセッサおよびメインプロセッサからアクセス可能な共有メモリと、を備える。制御方法は、以下のステップを実行する。
1. 所定のプログラムに含まれる複数の処理単位のうち、複数のプロセッサ間で同期処理すべき処理単位を示すデータを、ワークステーションから受け、共有メモリに書き込むステップ
2. 複数のプロセッサが共有メモリにアクセスし、同期処理すべき処理単位を示すデータを取得するステップ
3. ワークステーションからの起動命令を契機として、複数のプロセッサがそれぞれ所定のプログラムの実行を開始するステップ
4. 複数のプロセッサがそれぞれ、同期処理すべき処理単位を完了すると、メインプロセッサに処理完了を通知するとともに、プログラムの実行を一時停止するステップ
5. メインプロセッサが、すべてのプロセッサから処理完了の通知を受領すると、複数のプロセッサに対して、プログラムの再開命令を発行するステップ
6. メインプロセッサからの再開命令を契機として、複数のプロセッサがプログラムの次の処理単位の実行を開始するステップ
Still another embodiment of the present invention relates to a method for controlling a test apparatus that operates in cooperation with a workstation connected to the outside. The test apparatus includes a plurality of processors each capable of independently executing a predetermined program, a main processor, and a plurality of processors and a shared memory accessible from the main processor. The control method executes the following steps.
1. 1. A step of receiving data indicating a processing unit to be synchronized among a plurality of processing units included in a predetermined program from a workstation and writing the data in a shared memory. 2. A plurality of processors access a shared memory and acquire data indicating a processing unit to be synchronized. 3. Start of execution of a predetermined program by each of a plurality of processors triggered by an activation command from the workstation. 4. When each of the plurality of processors completes the processing unit to be synchronized, the main processor is notified of the completion of processing and the program execution is temporarily stopped. 5. When the main processor receives notification of processing completion from all the processors, it issues a program restart instruction to the plurality of processors. A step in which a plurality of processors start executing the next processing unit of a program in response to a restart instruction from the main processor

なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements, and those in which constituent elements and expressions of the present invention are mutually replaced between methods, apparatuses, systems, and the like are also effective as an aspect of the present invention.

本発明のある態様によれば、複数のプロセッサ間の同期が容易に実現できる。   According to an aspect of the present invention, synchronization between a plurality of processors can be easily realized.

以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。   The present invention will be described below based on preferred embodiments with reference to the drawings. The same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated descriptions are omitted as appropriate. The embodiments do not limit the invention but are exemplifications, and all features and combinations thereof described in the embodiments are not necessarily essential to the invention.

図2は、実施の形態に係る試験システム200の構成を示すブロック図である。試験システム200は、ATE100とワークステーション110を備える。
ATE100は、外部に接続されるワークステーション110と協調動作する。単一のワークステーション110に、複数のATE100が接続されてもよい。ワークステーション110は、テストプログラムにもとづいて、ATE100によるDUT(不図示)の試験シーケンスを制御するとともに、ATE100による試験結果を解析処理する。ワークステーション110はCPU、メモリ、ハードディスクなどを備えた汎用のコンピュータである。
FIG. 2 is a block diagram showing a configuration of the test system 200 according to the embodiment. The test system 200 includes an ATE 100 and a workstation 110.
The ATE 100 operates in cooperation with a workstation 110 connected to the outside. A plurality of ATEs 100 may be connected to a single workstation 110. The workstation 110 controls a test sequence of a DUT (not shown) by the ATE 100 based on the test program and analyzes the test result by the ATE 100. The workstation 110 is a general-purpose computer including a CPU, a memory, a hard disk, and the like.

ATE100は、複数のサイトCPU10_1〜10_n、メインCPU20、共有メモリ22を備える。その他にATE100は図示しない試験ユニット、タイミング発生器、パターン発生器などを備える。   The ATE 100 includes a plurality of site CPUs 10_1 to 10_n, a main CPU 20, and a shared memory 22. In addition, the ATE 100 includes a test unit, a timing generator, a pattern generator, and the like (not shown).

複数のサイトCPU10はそれぞれ、独立して所定のテストプログラムを実行可能に構成される。複数のサイトCPU10は、個別のパッケージであってもよいし、マルチコアプロセッサのように単一のパッケージに集積化されていてもよい。   Each of the plurality of site CPUs 10 is configured to be able to execute a predetermined test program independently. The plurality of site CPUs 10 may be individual packages or may be integrated into a single package like a multi-core processor.

ある態様において、複数のサイトCPU10_1〜10_nは、たとえば複数のテストユニット(不図示)ごとに設けられており、対応するテストユニットを制御し、あるいはテストユニットから得られた試験結果を解析処理する。   In one embodiment, the plurality of site CPUs 10_1 to 10_n are provided for each of a plurality of test units (not shown), for example, and control corresponding test units or analyze the test results obtained from the test units.

別の態様において、ATE100が複数のDUTを同時並列的に試験する場合、複数のサイトCPU10_1〜10_nは、DUTごとに設けられてもよい。各サイトCPU10は、テストプログラムにもとづいて対応するDUTを試験してもよい。   In another aspect, when the ATE 100 tests a plurality of DUTs in parallel, the plurality of site CPUs 10_1 to 10_n may be provided for each DUT. Each site CPU 10 may test the corresponding DUT based on the test program.

さらに別の態様において、DUTがマルチバンクのメモリである場合には、各サイトCPU10は、バンクごとに設けられてもよい。各サイトCPU10は、テストプログラムにもとづいて対応するバンクを試験してもよい。
なお複数のサイトCPU10の配置や機能はこれらの態様には限定されない。
In yet another aspect, when the DUT is a multi-bank memory, each site CPU 10 may be provided for each bank. Each site CPU 10 may test the corresponding bank based on the test program.
The arrangement and functions of the plurality of site CPUs 10 are not limited to these modes.

メインCPU20は、ATE100を統合的に制御するためのプロセッサである。共有メモリ22は、メインCPU20からのみでなく、複数のサイトCPU10_1〜10_nからもアクセス可能に構成される。共有メモリ22は、メインCPU20と別チップとして構成されてもよいし、メインCPU20と一体に構成されてもよい。   The main CPU 20 is a processor for controlling the ATE 100 in an integrated manner. The shared memory 22 is configured to be accessible not only from the main CPU 20 but also from a plurality of site CPUs 10_1 to 10_n. The shared memory 22 may be configured as a separate chip from the main CPU 20 or may be configured integrally with the main CPU 20.

ワークステーション110側の記憶装置、たとえばハードディスク(不図示)には、複数のサイトCPU10_1〜10_nが実行すべきテストプログラムが格納されている。なおテストプログラムは、ATE100側の記憶装置(不図示)に格納されてもよい。テストプログラムは、複数の処理単位の集合体としてプログラミングされる。処理単位は、関数、メインルーチン、サブルーチン、プロシージャ、スレッド、プログラムモジュールとして把握でき、あるいはこれらの複数の集合体である。   A test program to be executed by the plurality of site CPUs 10_1 to 10_n is stored in a storage device on the workstation 110 side, for example, a hard disk (not shown). The test program may be stored in a storage device (not shown) on the ATE 100 side. The test program is programmed as a collection of a plurality of processing units. The processing unit can be grasped as a function, a main routine, a subroutine, a procedure, a thread, a program module, or a plurality of these.

以上がATE100の全体構成である。ATE100およびワークステーション110は以下の処理を実行する。   The above is the overall configuration of the ATE 100. The ATE 100 and the workstation 110 execute the following processing.

複数のサイトCPU10_1〜10_nの処理を同期させたい場合がある。たとえばATE100の起動時にDUTの試験の開始に先立ち、各サイトCPU10_1〜10_nに自己診断プログラムを実行させる際に、サイトCPU10_1〜10_nの処理を同期させたい状況が生ずる。あるいは複数のDUTを並列的に試験する際に、あるDUTの解析処理に別のDUTの解析結果が必要な場合があるが、この場合にも、同期処理が必要となる。   There is a case where it is desired to synchronize the processes of the plurality of site CPUs 10_1 to 10_n. For example, when the ATE 100 is started, prior to the start of the DUT test, when the site CPUs 10_1 to 10_n execute the self-diagnosis program, there is a situation where the processes of the site CPUs 10_1 to 10_n are desired to be synchronized. Alternatively, when a plurality of DUTs are tested in parallel, an analysis result of another DUT may be required for an analysis process of a certain DUT. In this case also, a synchronization process is required.

これらの場合、試験システム200のユーザは、同期処理すべき処理単位(以下、同期処理単位という)を予め定義しておき、同期処理単位(関数情報)を指定するデータ(以下、同期処理設定データという)S10を、ワークステーション110に登録しておく。   In these cases, the user of the test system 200 defines in advance processing units (hereinafter referred to as synchronous processing units) to be subjected to synchronous processing, and specifies data (hereinafter referred to as synchronous processing setting data) specifying the synchronous processing units (function information). S10) is registered in the workstation 110 in advance.

ワークステーション110は、複数のサイトCPU10_1〜10_nによるテストプログラムの実行開始に先立ち、定義された同期処理単位を示す同期処理設定データS10をATE100の共有メモリ22に書き込み、同期処理単位をATE100側に登録する。登録される同期処理単位はひとつであってもよいし、複数であってもよい。   Prior to the start of test program execution by the plurality of site CPUs 10_1 to 10_n, the workstation 110 writes the synchronization processing setting data S10 indicating the defined synchronization processing unit to the shared memory 22 of the ATE 100, and registers the synchronization processing unit on the ATE 100 side. To do. One or more synchronization processing units may be registered.

複数のサイトCPU10_1〜10_nは、共有メモリ22にアクセスして同期処理設定データS10を参照し、同期処理すべき処理単位を識別する。   The plurality of site CPUs 10_1 to 10_n access the shared memory 22, refer to the synchronization processing setting data S10, and identify processing units to be synchronized.

サイトCPU10_1〜10_nは、ワークステーション110からの起動命令S12を契機として、テストプログラムの実行を開始する。   The site CPUs 10_1 to 10_n start execution of the test program in response to the activation instruction S12 from the workstation 110.

各サイトCPU10_1〜10_nはそれぞれ、テストプログラムに含まれる処理単位を実行していき、同期処理単位の処理を完了すると、メインプロセッサ20に処理完了を通知する。同期処理単位の完了は、たとえばプログラム中のリターン文と対応づけることができる。具体的には、各サイトCPU10は、同期処理設定データS10により指定される同期処理単位(関数)のリターン文の直前(もしくは直後)のタイミングで、処理完了を通知するデータ(完了通知データという)S14をメインCPU20に出力する。各サイトCPU10は、その状態でプログラムの実行を一時停止する。完了通知データS14は、サイトCPU10ごとに設けられたレジスタへのデータ書き込みによって実現してもよい。   Each of the site CPUs 10_1 to 10_n executes the processing unit included in the test program, and notifies the main processor 20 of the completion of processing when the processing of the synchronous processing unit is completed. Completion of the synchronous processing unit can be associated with a return statement in the program, for example. Specifically, each site CPU 10 notifies the processing completion (referred to as completion notification data) immediately before (or immediately after) the return statement of the synchronous processing unit (function) specified by the synchronous processing setting data S10. S14 is output to the main CPU 20. Each site CPU 10 temporarily stops execution of the program in that state. The completion notification data S14 may be realized by writing data to a register provided for each site CPU 10.

メインCPU20は、すべてのサイトCPU10から処理完了の通知を受領すると、複数のプロセッサに対して、テストプログラムの再開命令S16を一斉に発行する。   When the main CPU 20 receives notification of processing completion from all the site CPUs 10, the main CPU 20 issues a test program restart instruction S16 simultaneously to a plurality of processors.

複数のサイトCPU10は、メインプロセッサ20からの再開命令S16を契機として、一時停止状態から解放され、テストプログラムの次の処理単位の実行を開始する。   The plurality of site CPUs 10 are released from the paused state in response to the restart instruction S16 from the main processor 20 and start executing the next processing unit of the test program.

同期処理設定データS10によって、複数の同期処理単位が指定される場合、複数のプロセッサはそれぞれ、同期処理単位をひとつ完了するごとに、メインプロセッサ20に処理完了を通知し、処理を一時停止する。   When a plurality of synchronization processing units are specified by the synchronization processing setting data S10, each of the plurality of processors notifies the main processor 20 of the completion of processing each time one synchronization processing unit is completed, and temporarily stops the processing.

以上がATE100の構成である。以下、ATE100の動作を説明する。図3は、図2のATE100の動作を示すタイムチャートである。
理解を容易とするため、テストプログラムは処理単位に相当する複数の関数func1〜func5を含み、サイトCPUが4個の場合を想定する。関数func1〜func4は各サイトCPU10によって順に実行される。また第2関数func2と第4関数func4が、同期処理すべき関数(同期処理単位)として予めユーザによって指定される。この状況において、ATE100は以下の処理を実行する。
The above is the configuration of the ATE 100. Hereinafter, the operation of the ATE 100 will be described. FIG. 3 is a time chart showing the operation of the ATE 100 in FIG.
In order to facilitate understanding, it is assumed that the test program includes a plurality of functions func1 to func5 corresponding to processing units and has four site CPUs. The functions func1 to func4 are executed in order by each site CPU10. The second function func2 and the fourth function func4 are designated in advance by the user as functions (synchronization processing units) to be synchronized. In this situation, the ATE 100 performs the following processing.

ワークステーション110は、同期処理すべき関数func2、fucn4を指定する同期処理設定データS10を共有メモリ22へと書き込み、関数func2、func4を登録する。   The workstation 110 writes the synchronization processing setting data S10 designating the functions func2 and fucn4 to be synchronized to the shared memory 22, and registers the functions func2 and func4.

複数のサイトCPU10_1〜10_nは、共有メモリ22にアクセスし、同期処理設定データS10を参照する。その結果、各サイトCPU10に対して、複数の関数func1〜func5のうち、関数func2、func4を同期すべきであることが通知される。   The plurality of site CPUs 10_1 to 10_n access the shared memory 22 and refer to the synchronization processing setting data S10. As a result, each site CPU 10 is notified that the functions func2 and func4 among the functions func1 to func5 should be synchronized.

ワークステーション110から起動命令S12が出力されると、複数のサイトCPU10が、テストプログラムの実行を開始する(時刻t0)。具体的には、各サイトCPU1〜CPU4は、関数func1の処理を開始する。同じ関数を実行した場合であっても、各サイトCPU10ごとにループ処理の回数や分岐処理が異なるため、関数を完了するのに要する時間は異なっている。   When the activation instruction S12 is output from the workstation 110, the plurality of site CPUs 10 start executing the test program (time t0). Specifically, each of the sites CPU1 to CPU4 starts processing of the function func1. Even when the same function is executed, the time required to complete the function differs because the number of loop processes and branch processes differ for each site CPU 10.

関数func1は、同期処理すべき関数として登録されていない。各サイトCPU10は、関数func1を完了すると、関数fucn2の処理を開始する。   The function func1 is not registered as a function to be synchronized. When each site CPU 10 completes the function func1, the processing of the function fucn2 is started.

関数func2は、同期処理設定データS10によって同期処理すべき関数として登録されているため、サイトCPU10_1〜10_4はそれぞれ、関数func2の処理を完了すると、完了通知データS14_1〜S14_4を出力し、処理を一時停止する。   Since the function func2 is registered as a function to be synchronously processed by the synchronous processing setting data S10, each of the site CPUs 10_1 to 10_4 outputs completion notification data S14_1 to S14_4 when the processing of the function func2 is completed. Stop.

時刻t1に、すべてのサイトCPU10_1〜10_4から完了通知データS14が出力されると、メインCPU20は再開命令S16を発行する。再開命令S16を受けると、サイトCPU10_1〜10_4は、続く処理単位である関数func3の処理を開始する。   When the completion notification data S14 is output from all the site CPUs 10_1 to 10_4 at time t1, the main CPU 20 issues a restart instruction S16. When receiving the restart instruction S16, the site CPUs 10_1 to 10_4 start processing of the function func3 which is a subsequent processing unit.

関数func3は、同期処理すべき関数として登録されていないため、各サイトCPU10は、関数func3を完了すると、関数fucn4の処理を開始する。関数func4は、同期処理設定データS10によって同期処理すべき関数として登録されているため、サイトCPU10_1〜10_4はそれぞれ、関数func4の処理を完了すると、完了通知データS14_1〜S14_4を出力し、処理を一時停止する。   Since the function func3 is not registered as a function to be synchronized, each site CPU 10 starts the process of the function fucn4 when the function func3 is completed. Since the function func4 is registered as a function to be synchronized by the synchronization process setting data S10, each of the site CPUs 10_1 to 10_4 outputs completion notification data S14_1 to S14_4 when the process of the function func4 is completed. Stop.

時刻t2に、すべてのサイトCPU10_1〜10_4から完了通知データS14が出力されると、メインCPU20は再開命令S16を発行する。再開命令S16を受けると、サイトCPU10_1〜10_4は、続く処理単位である関数func5の処理を開始する。   When the completion notification data S14 is output from all the site CPUs 10_1 to 10_4 at time t2, the main CPU 20 issues a restart instruction S16. When receiving the restart instruction S16, the site CPUs 10_1 to 10_4 start processing of the function func5 which is a subsequent processing unit.

すべてのサイトCPU10_1〜10_4が、関数fucn5の処理を完了すると、テストプログラムの処理が完了する。   When all the site CPUs 10_1 to 10_4 complete the processing of the function fucn5, the processing of the test program is completed.

以上がATE100の動作である。実施の形態に係るATE100によれば、任意の処理単位を柔軟に同期させることができる。また同期処理はATE100のメインCPU20および共有メモリ22によって自動的になされるため、ユーザは同期すべき処理単位を指定するのみでよく、テストプログラムのプログラミングの負担を軽減することができる。   The above is the operation of the ATE 100. According to the ATE 100 according to the embodiment, arbitrary processing units can be flexibly synchronized. In addition, since the synchronization process is automatically performed by the main CPU 20 and the shared memory 22 of the ATE 100, the user only has to specify the processing unit to be synchronized, and the burden of programming the test program can be reduced.

実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能である。   Although the present invention has been described based on the embodiments, the embodiments only show the principle and application of the present invention, and the embodiments depart from the idea of the present invention defined in the claims. Many modifications and arrangements can be made without departing from the scope.

複数のCPUを搭載したATEの構成を示すブロック図である。It is a block diagram which shows the structure of ATE which mounts several CPU. 実施の形態に係る試験システムの構成を示すブロック図である。It is a block diagram which shows the structure of the test system which concerns on embodiment. 図2のATEの動作を示すタイムチャートである。3 is a time chart showing the operation of the ATE in FIG. 2.

符号の説明Explanation of symbols

100…ATE、110…ワークステーション、200…試験システム、10…サイトCPU、20…メインCPU、22…共有メモリ、S10…同期処理設定データ、S12…起動命令、S14…完了通知データ、S16…再開命令。 DESCRIPTION OF SYMBOLS 100 ... ATE, 110 ... Workstation, 200 ... Test system, 10 ... Site CPU, 20 ... Main CPU, 22 ... Shared memory, S10 ... Synchronization processing setting data, S12 ... Start-up command, S14 ... Completion notification data, S16 ... Resume order.

Claims (7)

外部に接続されるワークステーションと協調動作する試験装置であって、
それぞれが独立して所定のプログラムを実行可能な複数のプロセッサと、
メインプロセッサと、
前記複数のプロセッサおよび前記メインプロセッサからアクセス可能な共有メモリと、
を備え、
前記所定のプログラムに含まれる複数の処理単位のうち、前記複数のプロセッサ間で同期処理すべき処理単位を示すデータを、前記ワークステーションから受け、前記共有メモリに書き込むステップと、
前記複数のプロセッサが前記共有メモリにアクセスし、前記同期処理すべき処理単位を示すデータを取得するステップと、
前記ワークステーションからの起動命令を契機として、前記複数のプロセッサがそれぞれ前記所定のプログラムの実行を開始するステップと、
前記複数のプロセッサがそれぞれ、前記同期処理すべき処理単位を完了すると、前記メインプロセッサに処理完了を通知するとともに、前記プログラムの実行を一時停止するステップと、
前記メインプロセッサが、すべてのプロセッサから処理完了の通知を受領すると、前記複数のプロセッサに対して、前記プログラムの再開命令を発行するステップと、
前記メインプロセッサからの再開命令を契機として、前記複数のプロセッサが前記プログラムの次の処理単位の実行を開始するステップと、
を実行することを特徴とする試験装置。
A test apparatus that cooperates with an externally connected workstation,
A plurality of processors each capable of independently executing a predetermined program;
A main processor;
A shared memory accessible from the plurality of processors and the main processor;
With
Receiving data indicating a processing unit to be synchronously processed among the plurality of processors among the plurality of processing units included in the predetermined program from the workstation, and writing the data into the shared memory;
The plurality of processors accessing the shared memory to obtain data indicating a processing unit to be synchronized;
Each of the plurality of processors starting execution of the predetermined program triggered by an activation command from the workstation;
When each of the plurality of processors completes the processing unit to be synchronized, notifying the main processor of the completion of processing and temporarily stopping execution of the program;
When the main processor receives notification of processing completion from all the processors, issuing a restart instruction for the program to the plurality of processors;
Triggered by a restart instruction from the main processor, the plurality of processors start executing the next processing unit of the program;
A test apparatus characterized in that
前記ワークステーションは、前記複数のプロセッサ間で同期処理すべき処理単位を複数指定し、
前記複数のプロセッサは、同期処理すべき処理単位をひとつ完了するごとに、前記メインプロセッサに処理完了を通知することを特徴とする請求項1に記載の試験装置。
The workstation specifies a plurality of processing units to be synchronized between the plurality of processors,
2. The test apparatus according to claim 1, wherein the plurality of processors notify the main processor of the completion of processing every time one processing unit to be synchronized is completed.
前記所定のプログラムは、前記試験装置の起動時に実行される自己診断プログラムであることを特徴とする請求項1または2に記載の試験装置。   The test apparatus according to claim 1, wherein the predetermined program is a self-diagnosis program that is executed when the test apparatus is activated. 請求項1から3のいずれかに記載の試験装置と、
前記試験装置に起動命令を発行するワークステーションと、
を備えることを特徴とする試験システム。
A test apparatus according to any one of claims 1 to 3,
A workstation that issues an activation instruction to the test apparatus;
A test system comprising:
外部に接続されるワークステーションと協調動作する試験装置の制御方法であって、
前記試験装置は、
それぞれが独立して所定のプログラムを実行可能な複数のプロセッサと、
メインプロセッサと、
前記複数のプロセッサおよび前記メインプロセッサからアクセス可能な共有メモリと、
を備え、当該制御方法は、
前記所定のプログラムに含まれる複数の処理単位のうち、前記複数のプロセッサ間で同期処理すべき処理単位を示すデータを、前記ワークステーションから受け、前記共有メモリに書き込むステップと、
前記複数のプロセッサが前記共有メモリにアクセスし、前記同期処理すべき処理単位を示すデータを取得するステップと、
前記ワークステーションからの起動命令を契機として、前記複数のプロセッサがそれぞれ前記所定のプログラムの実行を開始するステップと、
前記複数のプロセッサがそれぞれ、前記同期処理すべき処理単位を完了すると、前記メインプロセッサに処理完了を通知するとともに、前記プログラムの実行を一時停止するステップと、
前記メインプロセッサが、すべてのプロセッサから処理完了の通知を受領すると、前記複数のプロセッサに対して、前記プログラムの再開命令を発行するステップと、
前記メインプロセッサからの再開命令を契機として、前記複数のプロセッサが前記プログラムの次の処理単位の実行を開始するステップと、
を含むことを特徴とする制御方法。
A control method of a test apparatus that operates in cooperation with an externally connected workstation,
The test apparatus comprises:
A plurality of processors each capable of independently executing a predetermined program;
A main processor;
A shared memory accessible from the plurality of processors and the main processor;
The control method includes:
Receiving data indicating a processing unit to be synchronously processed among the plurality of processors among the plurality of processing units included in the predetermined program from the workstation, and writing the data into the shared memory;
The plurality of processors accessing the shared memory to obtain data indicating a processing unit to be synchronized;
Each of the plurality of processors starting execution of the predetermined program triggered by an activation command from the workstation;
When each of the plurality of processors completes the processing unit to be synchronized, notifying the main processor of the completion of processing and temporarily stopping execution of the program;
When the main processor receives notification of processing completion from all the processors, issuing a restart instruction for the program to the plurality of processors;
Triggered by a restart instruction from the main processor, the plurality of processors start executing the next processing unit of the program;
The control method characterized by including.
前記ワークステーションは、前記複数のプロセッサ間で同期処理すべき処理単位を複数指定し、
前記複数のプロセッサは、同期処理すべき処理単位をひとつ完了するごとに、前記メインプロセッサに処理完了を通知することを特徴とする請求項5に記載の制御方法。
The workstation specifies a plurality of processing units to be synchronized between the plurality of processors,
6. The control method according to claim 5, wherein the plurality of processors notify the main processor of completion of processing every time one processing unit to be synchronized is completed.
前記所定のプログラムは、前記試験装置の起動時に実行される自己診断プログラムであることを特徴とする請求項5または6に記載の制御方法。   The control method according to claim 5, wherein the predetermined program is a self-diagnosis program executed when the test apparatus is started up.
JP2008142106A 2008-05-30 2008-05-30 Testing device and method of controlling the same, and test system Withdrawn JP2009289108A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008142106A JP2009289108A (en) 2008-05-30 2008-05-30 Testing device and method of controlling the same, and test system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008142106A JP2009289108A (en) 2008-05-30 2008-05-30 Testing device and method of controlling the same, and test system

Publications (1)

Publication Number Publication Date
JP2009289108A true JP2009289108A (en) 2009-12-10

Family

ID=41458254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008142106A Withdrawn JP2009289108A (en) 2008-05-30 2008-05-30 Testing device and method of controlling the same, and test system

Country Status (1)

Country Link
JP (1) JP2009289108A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016118818A (en) * 2014-12-18 2016-06-30 本田技研工業株式会社 Control device of vehicle
CN110502383A (en) * 2019-08-27 2019-11-26 Oppo(重庆)智能科技有限公司 The test method and device of terminal device
CN112579306A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Thread setting and thread scheduling method
CN112579262A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Multithreading parallel processing method with test item adjustment
CN112579367A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Processing method for setting data space in test process

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016118818A (en) * 2014-12-18 2016-06-30 本田技研工業株式会社 Control device of vehicle
CN110502383A (en) * 2019-08-27 2019-11-26 Oppo(重庆)智能科技有限公司 The test method and device of terminal device
CN112579306A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Thread setting and thread scheduling method
CN112579262A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Multithreading parallel processing method with test item adjustment
CN112579367A (en) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 Processing method for setting data space in test process
CN112579367B (en) * 2019-09-29 2023-09-22 北京君正集成电路股份有限公司 Processing method for setting data space in test process
CN112579306B (en) * 2019-09-29 2024-02-27 北京君正集成电路股份有限公司 Thread setting and thread scheduling method
CN112579262B (en) * 2019-09-29 2024-02-27 北京君正集成电路股份有限公司 Multithreading parallel processing method with test item adjustment

Similar Documents

Publication Publication Date Title
US11288178B2 (en) Container testing using a directory and test artifacts and/or test dependencies
US8813035B2 (en) Paradigm for concurrency testcase generation
US9690603B2 (en) Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method
US8843910B1 (en) Identifying a set of functionally distinct reorderings in a multithreaded program
US20070028240A1 (en) Information processing method and information processing apparatus for processing a plurality of threads
CN105446795B (en) Parallelization in virtual machine operation
JP2610821B2 (en) Multi-processor system
JPH07225693A (en) Method for processing thread phenomenon over different address space
JP2009289108A (en) Testing device and method of controlling the same, and test system
US10725889B2 (en) Testing multi-threaded applications
WO2017129242A1 (en) Deterministic concurrent test program executor for an automated test equipment
CN106155883A (en) A kind of virtual machine method for testing reliability and device
US9952954B2 (en) Multicore processor system having an error analysis function
US9792402B1 (en) Method and system for debugging a system on chip under test
US20130254747A1 (en) Method and apparatus for testing programs
US20150212835A1 (en) Automatic identification of interesting interleavings in a multithreaded program
US9989589B2 (en) Computer system for automatic test equipment (ATE) using one or more dedicated processing cores for ATE functions
JP2002007361A (en) Application interface for multiprocessor unnecessary to use multiprocessor operating system
US20160202993A1 (en) Instruction stream tracing of multi-threaded processors
JP5562394B2 (en) Global clock handler object for HDL environment
Kordon et al. BenchKit, a tool for massive concurrent benchmarking
US9710359B2 (en) Executing debug program instructions on a target apparatus processing pipeline
US20110225400A1 (en) Device for Testing a Multitasking Computation Architecture and Corresponding Test Method
JPH08328905A (en) Method and device for simulation
JP2010102372A (en) Data processor, verification system, data processor verification method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110802