(57)【要約】【課題】複数のシーケンサに対して異なるパターンデータを生成して試験を行わせる場合において、簡単なプログラム構成で動作制御を行うことを目的とする。【解決手段】ＤＵＴ１に対して入力するパターンデータを生成するシーケンサ４を複数備えた半導体試験装置であって、全てのシーケンサ４を対象とする全指定領域と一部のシーケンサ４を対象とする個別指定領域とにシーケンサ４の動作制御を行う命令を記述したメインプログラム１２を記憶するプログラム記憶部５と、全指定領域に記述した命令を実行するときには全てのシーケンサ４を対象とし、個別指定領域に記述した命令を実行するときには一部のシーケンサ４を対象として動作制御を行うシーケンサ制御部７と、を備えている。【選択図】  図１
2011007721.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスに対して入力するパターンデータを生成するシーケンサを複数備えた半導体試験装置であって、
全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを記憶するプログラム記憶部と、
前記全指定領域に記述した命令を実行するときには前記全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象として動作制御を行うシーケンサ制御部と、
を備えたことを特徴とする半導体試験装置。
【請求項２】
前記パターンデータの内容を記述したパターンプログラムを指定する指定命令が実行されたときに更新され、前記指定命令が対象とするシーケンサの情報を指定シーケンサ情報として前記パターンプログラムごとに有するシーケンサ情報を記憶するシーケンサ情報記憶部と、
前記シーケンサ情報記憶部に記憶されているシーケンサ情報の指定シーケンサ情報と新たに実行する指定命令とで対象とするシーケンサが重複している場合には、既に記憶されているシーケンサ情報を削除し、新たに実行する指定命令のシーケンサの情報をシーケンサ情報として追加する制御を行うシーケンサ情報制御部と、
をさらに備えたことを特徴とする請求項１記載の半導体試験装置。
【請求項３】
前記シーケンサ情報制御部は、指定したシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと前記シーケンサ情報の指定シーケンサ情報が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定すること
を特徴とする請求項２記載の半導体試験装置。
【請求項４】
前記実行命令が実行されたシーケンサの情報を実行済みシーケンサ情報として記憶する全体情報記憶部をさらに備え、
前記シーケンサ制御部は、前記指定シーケンサ情報および前記実行済みシーケンサ情報を参照して、前記指定命令が対象としているシーケンサおよび前記実行命令が対象としているシーケンサと試験結果を取得する取得命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定すること
を特徴とする請求項３記載の半導体試験装置。
【請求項５】
前記シーケンサ情報は、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサの情報を使用シーケンサ情報として有しており、
前記シーケンサ制御部は、前記実行命令および前記取得命令を実行するときには、前記使用シーケンサ情報により特定されるシーケンサを対象として動作制御を行うこと
を特徴とする請求項４記載の半導体試験装置。
【請求項６】
被試験デバイスに対してパターンデータを入力して試験を行うシーケンサをそれぞれ有する複数の試験部を用いて前記被試験デバイスの試験を行う半導体試験方法であって、
全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを読み出すステップと、
前記全指定領域に記述した命令を実行するときには全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象としてシーケンサの動作制御を行うステップと、
を有することを特徴とする半導体試験方法。
【請求項７】
前記シーケンサの動作制御を行うステップは、
前記命令のうち前記パターンデータの内容を記述したパターンプログラムを指定する指定命令を実行するときに、実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には前記実行済みの指定命令が対象とするシーケンサの情報を削除して、新たに実行する指定命令のシーケンサの情報を追加するステップをさらに有すること
を特徴とする請求項６記載の半導体試験方法。
【請求項８】
指定されたシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと実行済みの指定命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有すること
を特徴とする請求項７記載の半導体試験方法。
【請求項９】
前記シーケンサから試験結果を取得する取得命令と前記指定命令との間で、および前記取得命令と前記実行命令との間で対象とするシーケンサを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有すること
を特徴とする請求項８記載の半導体試験方法。
【請求項１０】
前記取得命令および前記実行命令を実行するときには、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサに対して制御を行うこと
を特徴とする請求項９記載の半導体試験方法。
【請求項１１】
コンピュータに、請求項６乃至１０の何れか１項に記載の方法の各ステップを実行させるための半導体試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリやＩＣ、ＬＳＩ等の被試験デバイスの試験を行うためのシーケンサを複数搭載した半導体試験装置、半導体試験方法および半導体試験プログラムに関するものである。
【背景技術】
【０００２】
ＩＣやＬＳＩやメモリ等の被試験デバイス（ＤＵＴ）の試験を行う半導体試験装置、特に複数のシーケンサを備える半導体試験装置が従来から用いられている。図１２に示すように、この種の半導体試験装置は、ＤＵＴ１０１と複数のＰＥカード１０２−１〜１０２Ｎ（総称してＰＥカード１０２とする）とメインフレーム１０３とを備えて概略構成している。ＤＵＴ１０１はＩＣやＬＳＩ、メモリ等の被試験デバイスであり、複数ピンを備えている。
【０００３】
ＰＥカード１０２はＤＵＴ１０１の試験を行うための試験部として機能するピンエレクトロニクスカードであり、ＤＵＴ１０１のピンに接続される。ＰＥカード１０２は試験を行うためのパターンデータをＤＵＴ１０１に対して入力し、ＤＵＴ１０１から出力される出力パターンを比較することにより良否判定（パスフェイル判定）を行う。ＰＥカード１０２は複数枚（Ｎ枚：Ｎは２以上の整数）を装着しており、各ＰＥカード１０２がＤＵＴ１０１の各ピンに接続している。
【０００４】
メインフレーム１０３はテスタコントローラ１０４とシーケンサ１０５とを備えている。テスタコントローラ１０４は半導体試験装置の全体の動作制御（ここではシーケンサ１０５の制御）を行っている。シーケンサ１０５はＤＵＴ１０１の試験を行うためのパターンデータを生成するパターンジェネレータである。パターンデータはＤＵＴ１０１の試験を行うためのテストパターンであり、このパターンデータが各ＰＥカード１０２に分配される。そして、ＰＥカード１０２はパターンデータをＤＵＴ１０１入力して試験を行う。従って、各ＰＥカード１０２は同一のパターンデータに基づいてＤＵＴ１０１の試験を行う。
【０００５】
一方、図１３に示すように、各ＰＥカード１０２にそれぞれシーケンサ１０５（１０５−１〜１０５−Ｎ）を搭載した半導体試験装置が近年用いられるようになっている。ＰＥカード１０２ごとにシーケンサ１０５を搭載することで、ＤＵＴ１０１の各ピンに対してそれぞれ異なる試験を行うことが可能になる。例えば、ＤＵＴ１０１に機能がそれぞれ異なる複数の回路ブロックを搭載したＩＣを適用した場合には、回路ブロックごとに異なるテストパターンを入力して試験を行う場合がある。このために、シーケンサ１０５をＰＥカード１０２ごとに搭載して、異なるテストパターンを入力するようにしている。
【０００６】
以上のように、シーケンサ１０５とＰＥカード１０２とを使用してＤＵＴ１０１の試験を行う半導体試験装置としては、例えば特許文献１に開示されている技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−５７９９３公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
シーケンサ１０５を１台搭載する場合であっても、シーケンサ１０５を複数搭載する場合であっても、シーケンサ１０５の制御はテスタコントローラ１０４によってなされる。テスタコントローラ１０４はＤＵＴ１０１の試験内容を記述したテストプログラムを記憶しており、このテストプログラムはパターンデータの内容を記述した複数のパターンプログラムと当該パターンプログラムを実行する手順を記述したメインプログラムとを有している。
【０００９】
テスタコントローラ１０４はメインプログラムに応じてパターンプログラムの内容をシーケンサ１０５に出力し、シーケンサ１０５はパターンプログラムの内容に応じたパターンデータを生成してＤＵＴ１０１の試験を行う。パターンプログラムおよびメインプログラムの内容はユーザが所望の試験に応じて任意に記述する。
【００１０】
メインプログラムは主に３つの命令を有して構成される。パターンデータの内容が記述されたパターンプログラムを指定する命令（指定命令）と指定済みのパターンプログラムを実行する命令（実行命令）と試験を行った結果を取得する命令（取得命令）との３つを有して構成される。従って、指定命令によりパターンプログラムを指定した状態で実行命令を行うことにより、シーケンサ１０５からＤＵＴ１０１に対して所定のパターンデータが入力される。このパターンデータにはパスフェイル判定を行うための期待値となる期待値パターンの情報も含まれており、シーケンサ１０５はＤＵＴ１０１からの出力パターンと期待値パターンとを比較してパスフェイル判定を行う。そして、取得命令を実行することにより、シーケンサ１０５から試験結果の情報（パスフェイル情報）を取得することで、１つのパターンデータによるＤＵＴ１０１の試験が完了する。
【００１１】
シーケンサ１０５を１台搭載する場合には、全てのＰＥカード１０２に対して同じパターンデータで試験を行うように制御を行うため、指定命令と実行命令と取得命令とを単純に繰り返すことにより試験を行うことができる。しかし、図１３のようにシーケンサ１０５を複数搭載し、それぞれのシーケンサ１０５により異なるパターンデータで試験を行わせるためには、指定命令と実行命令と取得命令との全てについて対象となるシーケンサ１０５を特定しなければならない。このため、メインプログラムの内容が著しく膨大且つ複雑なものになり、記述性の低下や記述ミスといった問題を生じる。
【００１２】
そこで、本発明は、複数のシーケンサに対して異なるパターンデータを生成して試験を行わせる場合において、簡単なプログラム構成で動作制御を行うことを目的とする。
【課題を解決するための手段】
【００１３】
以上の課題を解決するため、本発明の請求項１の半導体試験装置は、被試験デバイスに対して入力するパターンデータを生成するシーケンサを複数備えた半導体試験装置であって、全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを記憶するプログラム記憶部と、前記全指定領域に記述した命令を実行するときには前記全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象として動作制御を行うシーケンサ制御部と、を備えたことを特徴とする。
【００１４】
この半導体試験装置によれば、メインプログラムに全指定領域と個別指定領域とを設定して対象とするシーケンサを特定し、各領域に命令を記述していることから、命令ごとにシーケンサを特定することなく、各命令について自動的にシーケンサが特定される。このため、プログラムの記述量を著しく削減でき、記述性の向上や記述ミスの低減といった効果が得られる。
【００１５】
本発明の請求項２の半導体試験装置は、請求項１記載の半導体試験装置であって、前記パターンデータの内容を記述したパターンプログラムを指定する指定命令が実行されたときに更新され、前記指定命令が対象とするシーケンサの情報を指定シーケンサ情報として前記パターンプログラムごとに有するシーケンサ情報を記憶するシーケンサ情報記憶部と、前記シーケンサ情報記憶部に記憶されているシーケンサ情報の指定シーケンサ情報と新たに実行する指定命令とで対象とするシーケンサが重複している場合には、既に記憶されているシーケンサ情報を削除し、新たに実行する指定命令のシーケンサの情報をシーケンサ情報として追加する制御を行うシーケンサ情報制御部と、をさらに備えたことを特徴とする。
【００１６】
この半導体試験装置によれば、既に実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には、既に実行済みの指定命令のシーケンサが削除されて無効になる。これにより、指定命令の間でシーケンサの不整合が生じなくなる。
【００１７】
本発明の請求項３の半導体試験装置は、請求項２記載の半導体試験装置であって、前記シーケンサ情報制御部は、指定したシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと前記シーケンサ情報の指定シーケンサ情報が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定することを特徴とする。
【００１８】
この半導体試験装置によれば、指定命令と実行命令とでシーケンサが一致しないような場合には、シーケンサの不整合を検出している。これにより、指定命令を実行していないシーケンサが実行されることを回避できるようになる。
【００１９】
本発明の請求項４の半導体試験装置は、請求項３記載の半導体試験装置であって、前記実行命令が実行されたシーケンサの情報を実行済みシーケンサ情報として記憶する全体情報記憶部をさらに備え、前記シーケンサ制御部は、前記指定シーケンサ情報および前記実行済みシーケンサ情報を参照して、前記指定命令が対象としているシーケンサおよび前記実行命令が対象としているシーケンサと試験結果を取得する取得命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定することを特徴とする。
【００２０】
この半導体試験装置によれば、取得命令と指定命令および取得命令と指定命令とでシーケンサが一致しないような場合には、シーケンサの不整合を検出している。これにより、指定命令および実行命令を実行していないシーケンサから試験結果が取得されることが回避される。
【００２１】
本発明の請求項５の半導体試験装置は、請求項４記載の半導体試験装置であって、前記シーケンサ情報は、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサの情報を使用シーケンサ情報として有しており、前記シーケンサ制御部は、前記実行命令および前記取得命令を実行するときには、前記使用シーケンサ情報により特定されるシーケンサを対象として動作制御を行うことを特徴とする。
【００２２】
この半導体試験装置によれば、使用シーケンサ情報により特定されるシーケンサに対して実行命令および取得命令を行うため、メインプログラムにより指定されるシーケンサとパターンプログラムにより指定されるシーケンサとが異なっていた場合でも、実際に動作するシーケンサを対象とすることができるようになる。
【００２３】
本発明の請求項６の半導体試験方法は、被試験デバイスに対してパターンデータを入力して試験を行うシーケンサをそれぞれ有する複数の試験部を用いて前記被試験デバイスの試験を行う半導体試験方法であって、全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを読み出すステップと、前記全指定領域に記述した命令を実行するときには全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象としてシーケンサの動作制御を行うステップと、を有することを特徴とする。
【００２４】
本発明の請求項７の半導体試験方法は、請求項６記載の半導体試験方法であって、前記シーケンサの動作制御を行うステップは、前記命令のうち前記パターンデータの内容を記述したパターンプログラムを指定する指定命令を実行するときに、実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には前記実行済みの指定命令が対象とするシーケンサの情報を削除して、新たに実行する指定命令のシーケンサの情報を追加するステップをさらに有することを特徴とする。
【００２５】
本発明の請求項８の半導体試験方法は、請求項７記載の半導体試験方法であって、指定されたシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと実行済みの指定命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有することを特徴とする。
【００２６】
本発明の請求項９の半導体試験方法は、請求項８記載の半導体試験方法であって、前記シーケンサから試験結果を取得する取得命令と前記指定命令との間で、および前記取得命令と前記実行命令との間で対象とするシーケンサを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有することを特徴とする。
【００２７】
本発明の請求項１０の半導体試験方法は、請求項９記載の半導体試験方法であって、前記取得命令および前記実行命令を実行するときには、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサに対して制御を行うことを特徴とする。
【００２８】
本発明の請求項１１の半導体試験プログラムは、コンピュータに、請求項６乃至１０の何れか１項に記載の方法の各ステップを実行させるためのプログラムである。
【発明の効果】
【００２９】
本発明は、メインプログラムを全指定領域と個別指定領域とに分け、各領域がそれぞれ対象となるシーケンサを持つ領域とした。これにより、命令ごとに対象とするシーケンサを特定しなくても、領域内部に命令を記述することにより自動的に対象とするシーケンサが特定されるため、メインプログラムの記述量が大幅に削減され、記述性の向上や記述ミスの低減化といった効果が得られる。
【００３０】
また、領域ごとに命令を記述することで生じる可能性のあるシーケンサの不整合は、シーケンサ情報記憶部と全体情報記憶部とを設けてシーケンサの管理を行うことで、対処することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】本発明の半導体試験装置の機能ブロック図である。
【図２】テストプログラムの一例を示す図である。
【図３】情報記憶部の各情報の内容を示す図である。
【図４】本発明の半導体試験装置のハードウェアブロック図である。
【図５】多数のシーケンサを搭載した例を示す図である。
【図６】メインプログラムの例を示す図である。
【図７】指定命令を実行するときの処理を示すフローチャートである。
【図８】シーケンサの整合性チェックの処理を示すフローチャートである。
【図９】シーケンサの整合性チェックの他の例の処理を示すフローチャートである。
【図１０】実行命令を実行するときの処理を示すフローチャートである。
【図１１】取得命令を実行するときの処理を示すフローチャートである。
【図１２】従来の半導体試験装置における機能ブロック図である。
【図１３】従来の半導体試験装置における他の例の機能部ロック図である。
【発明を実施するための形態】
【００３２】
以下、図面を参照して本発明の実施形態について説明する。図１は、本発明の半導体試験装置の機能ブロック図を示している。図１の半導体試験装置は、ＤＵＴ１とＮ（Ｎは２以上の整数）個のＰＥカード２−１〜２−Ｎ（総称してＰＥカード２とする）とテスタコントローラ３とを備えて概略構成している。ＤＵＴ１はＩＣやＬＳＩ、メモリ等の被試験デバイスであり、複数のピンを有している。
【００３３】
ＰＥカード２はＤＵＴ１の試験を行うための試験部として機能するピンエレクトロニクスカードであり、Ｎ個のＰＥカード２がＤＵＴ１の各ピンに対して接続されている。各ＰＥカード２にはそれぞれシーケンサ４（４−１〜４−Ｎ）が搭載されている。各シーケンサ４はＤＵＴ１にそれぞれ異なるパターンデータ（テストパターン）を入力することが可能なパターンジェネレータである。また、各シーケンサ４はＤＵＴ１から出力される出力データに基づいてＤＵＴ１の良否判定（パスフェイル判定）を行う。パスフェイル判定を行った結果は、テスタコントローラ３からの要求に応じて試験結果として出力する。なお、パスフェイル判定を行う機能をシーケンサ４ではなく、ＰＥカード２に判定手段として持たせるようにしてもよい。
【００３４】
テスタコントローラ３は全体の制御を行うコントローラであり、図示しないメインフレームの内部に設けられている。このテスタコントローラ３は、プログラム記憶部５と情報記憶部６とシーケンサ制御部７と情報制御部８とを備えて概略構成している。プログラム記憶部５は３つのプログラム（デバイス定義ファイル１１、パターンプログラム１２およびメインプログラム１３）からなるテストプログラムを記憶している。
【００３５】
デバイス定義ファイル１１はＤＵＴ１の試験を行うための各種設定情報を有している。例えば、ＤＵＴ１のピン数等の設定情報である。本発明では、このデバイス定義ファイル１１に新たにシーケンサ定義を設けている。シーケンサ定義は、Ｎ個のシーケンサ４のうち全部または特定の一部のシーケンサ４を指定して予め定義するためのものである。なお、デバイス定義ファイル１１は実際に動作するプログラムではないが、ここではプログラムに含まれるものとして説明する。
【００３６】
図２（ａ）にシーケンサ定義の一例を示している。シーケンサ定義には個別的に識別子が付されており、図２（ａ）の例ではＳＥＱ（１）がシーケンサ定義の識別子として付されており、シーケンサ定義ＳＥＱ（１）はＰＥ１およびＰＥ２を定義している。シーケンサ４はＰＥカード２ごとに１つ搭載されていることから、ＰＥカード２の番号を指定することによりシーケンサ４が特定される。従って、図２（ａ）の例では、シーケンサ定義ＳＥＱ（１）によりＰＥカード１の１番および２番（ＰＥカード１−１および１−２）、つまりシーケンサ４−１および４−２が定義される。
【００３７】
なお、ここでは、シーケンサ定義をＰＥカードの番号により定義したが、シーケンサ４の番号を直接的に定義してもよい。また、シーケンサ定義をデバイス定義ファイル１１ではなく、メインプログラム１３に設けるものであってもよい。さらに、ＰＥカード２とシーケンサ４とで番号を一致させなくても、両者の対応関係が取れていれば、異なる番号であってもよい。
【００３８】
図１に示すパターンプログラム１２はシーケンサ４を制御するためのプログラムである。パターンプログラム１２は図２（ｂ）に示すような構成となっており、ＤＵＴ１のピン番号の情報（ピン番号情報）を有している。また、パターンデータと期待値パターンとのパターン情報を有している。ピン番号情報は、例えば図２（ｂ）の「ＰＩＮ  １２３４」ように記憶されている。このピン番号情報はＤＵＴ１の１〜４ピンに接続する試験を行うことを示している。また、パターン情報は「ＮＯＰ  １０ＨＬ」のように記憶しており、「１」および「０」はＤＵＴ１に入力するパターンデータを示し、「Ｈ」および「Ｌ」は前記のパターンデータを入力した場合における期待値のパターンを示している。なお、ＮＯＰは格別の操作を行わないノーオペレーション命令になる。
【００３９】
ＤＵＴ１の試験は多種類のパターンデータを入力して行うため、プログラム記憶部５には多種類のテストプログラムが記憶されている。図２（ｂ）には２種類のパターンプログラムを示しているが、実際には非常に多くのパターンプログラムがプログラム記憶部５に記憶されている。
【００４０】
メインプログラム１３はＤＵＴ１の試験を行うための手順が記述されたプログラムである。このメインプログラム１３は主に３つの命令から構成されている。１）指定命令：パターンプログラムを指定するための命令、２）実行命令：指定されたパターンプログラムを実行するための命令、３）取得命令：シーケンサ４から試験結果を取得する命令、の３つの命令から構成されている。図２（ｃ）はメインプログラム１３の一例を示しており、「ＳＥＴＰＡＴ」は指定命令、「ＥＸＥＣＰＡＴ」は実行命令、「ＧＥＴＲＥＳＵＬＴ」は取得命令になっている。
【００４１】
ここで、メインプログラム１３は２つの領域を有して構成されている。１つは全指定領域であり、もう１つは個別指定領域である。全指定領域は全てのシーケンサ４を対象とする領域であり、個別指定領域は特定の一部のシーケンサ４のみを対象とする領域である。図３（ｃ）のＳＥＱで閉じられているモジュール（関数）内部は個別指定領域になり、それ以外の領域が全指定領域になる。指定命令と実行命令と取得命令とは全指定領域と個別指定領域との何れかに記述される。
【００４２】
個別指定領域が対象とするシーケンサはシーケンサ定義により定義されたシーケンサになる。つまり、シーケンサ定義と個別指定領域とは同じＳＥＱという識別子を用いており、シーケンサ定義で定義されたシーケンサがそのまま個別指定領域が対象とするシーケンサになる。前述したシーケンサ定義ＳＥＱ（１）の場合には、個別指定領域ＳＥＱ（１）はシーケンサ４−１および４−２を対象とする。
【００４３】
図１に戻って、情報記憶部６について説明する。情報記憶部６はシーケンサ情報記憶部１４と全体情報記憶部１５とを有している。図３（ａ）にシーケンサ情報記憶部１４の構成を示し、図３（ｂ）に全体情報記憶部１５の構成を示している。
【００４４】
シーケンサ情報記憶部１４は３つのデータを持つシーケンサ情報を記憶する記憶部である。シーケンサ情報はパターンプログラム名称「ＰＡＴＮＡＭＥ」と指定シーケンサ情報「ＳＥＱ」と使用シーケンサ情報「ＰＡＴ」との３つのデータを有して構成されており、パターンプログラムごとに１つのシーケンサ情報が構成される。このシーケンサ情報はパターンプログラムの指定命令が実行されたときに追加或いは削除がされる。
【００４５】
パターンプログラム名称はパターンプログラムの名称を示す。このパターンプログラム名称により何れのパターンプログラムが特定される。指定シーケンサ情報は当該パターンプログラムの指定命令が対象とするシーケンサ４の情報になる。全指定領域に記述された指定命令であれば全てのシーケンサ４の情報になり、個別指定領域に記述された指定命令であれば当該領域が対象とする一部のシーケンサ４の情報になる。
【００４６】
使用シーケンサ情報はパターンプログラムに基づくシーケンサの情報になる。図２（ｂ）に示すように、パターンプログラム１２はピン番号情報を有している。このピン番号情報はＤＵＴ１のピンの番号の情報であり、ＤＵＴ１のピンとＰＥカード２とは１対１の関係で接続されるため、ピン番号情報に基づいてシーケンサ４が１つに特定される。例えば、図２（ｂ）の「ＰＩＮ  １２３４」であれば、ＤＵＴ１のピン番号情報である「１２３４」からＰＥカード２−１〜２−４が特定される。このように、パターンプログラム１２のピン番号情報により特定されるシーケンサ４の情報が使用シーケンサ情報になる。
【００４７】
全体情報記憶部１５は５つの情報かなる全体情報を記憶する。この全体情報は、図３（ｂ）に示すように、現指定シーケンサ情報「ＣＲＮＴＳＥＱ」と全指定シーケンサ情報「ＡＬＬＳＥＱ」と全使用シーケンサ情報「ＡＬＬＰＡＴ」と実行済みシーケンサ情報「ＥＸＥＣＰＡＴ」と有効シーケンサ情報数「ＰＡＴＣＯＵＮＴ」との５つの情報から構成される。なお、シーケンサ情報はパターンプログラムごとに記憶しているため複数になる場合があるが、全体情報は１つのみが記憶される。
【００４８】
現指定シーケンサ情報は現在実行している命令が対象とするシーケンサ４の情報になる。指定命令と実行命令と取得命令とは全指定領域と個別指定領域とに記述されており、各命令は記述されている領域によって対象とするシーケンサ４が異なる。現指定シーケンサ情報は実行している命令の領域が対象としているシーケンサ４の情報になる。
【００４９】
全指定シーケンサ情報はシーケンサ情報記憶部１４に記憶されている全てのシーケンサ情報の指定シーケンサ情報の和の情報になる。前述したように、シーケンサ情報はパターンプログラムごとに設けられていることから、複数のシーケンサ情報がシーケンサ情報記憶部１４に記憶されることがある。例えば、指定シーケンサ情報がシーケンサ４−１および４−２であるシーケンサ情報とシーケンサ４−３および４−４であるシーケンサ情報との２つがシーケンサ情報記憶部１４に記憶されている場合は、全指定シーケンサ情報はシーケンサ４−１〜４−４のデータを持つ。
【００５０】
全使用シーケンサ情報はシーケンサ情報記憶部１４に記憶されている全てのシーケンサ情報の使用シーケンサの和の情報になる。全指定シーケンサ情報と異なるのは、指定シーケンサ情報の和になるのか、使用シーケンサ情報の和になるのかという点である。
【００５１】
実行済みシーケンサ情報は実行命令を実行したときに更新され、当該実行命令が対象とするシーケンサ４の情報を記憶している。有効シーケンサ情報数はシーケンサ情報記憶部１４のシーケンサ情報の個数を記憶している。シーケンサ情報が追加されることにより有効シーケンサ情報数はインクリメントされ、削除されることによりデクリメントがされる。
【００５２】
シーケンサ制御部７はプログラム記憶部５のテストプログラムの内容を実行して、シーケンサ４−１〜４−Ｎの動作制御を行う。また、シーケンサ制御部７は情報記憶部６の参照も行う。情報制御部８はシーケンサ制御部７の要求に基づいて、シーケンサ情報記憶部１４或いは全体情報記憶部１５の内容を参照して後述するシーケンサの整合性チェックを行い、これらの情報の内容を更新する。
【００５３】
図１で示した機能ブロック図のハードウェアブロック図を図４に示す。各ＰＥカード２はそれぞれＣＰＵ２１−１〜２１−Ｎ（総称してＣＰＵ２１とする）とメモリ２２−１〜２２−Ｎ（総称してメモリ２２とする）とシーケンサ４（４−１〜４−Ｎ）とを備えており、ＣＰＵ２１はテスタコントローラ３からの指令に基づいてシーケンサ４の動作制御を行う。メモリ２２は指令の内容を一時的に記憶する等のために設けている。
【００５４】
テスタコントローラ３はＣＰＵ２３と補助記憶装置２４とメモリ２５とバスコントローラ２６とを備えている。ＣＰＵ２３はテスタコントローラ３の全体の動作制御を行うものであり、シーケンサ制御部７および情報制御部８としての機能を果たす。補助記憶装置２４は、デバイス定義ファイル１１とパターンプログラム１２とメインプログラム１３とを有するテストプログラムを記憶する記憶装置である。
【００５５】
メモリ２５は補助記憶装置２４から読み出した各種プログラムを一時的に記憶しており、ＣＰＵ２３はメモリ２５に読み出されたプログラムを実行する。そして、メモリ２５は情報記憶部６として機能するものであり、シーケンサ情報および全体情報を記憶し、ＣＰＵ２３によりその内容が更新される。
【００５６】
バスコントローラ２６は各ＰＥカード２−１〜２−Ｎと接続されるバスＢの制御を行っており、シーケンサ制御部７として機能するＣＰＵ２３により各ＰＥカード２−１〜２−Ｎに対して制御内容が転送される。
【００５７】
図５はテスタコントローラ３とＰＥカード２−１〜２−Ｎとの対応関係の一例を示しており、この図に示すように、テスタコントローラ３は多数のＰＥカード２とバスＢにより接続されている。そして、各ＰＥカード２にはそれぞれシーケンサ４を搭載しており、それぞれのＰＥカード２から異なるパターンデータをＤＵＴ１に対して入力することができるようになっている。
【００５８】
図２（ｃ）に戻って、メインプログラム１３について説明する。この図に示すように、パターンＡのパターンプログラムの指定命令と実行命令と取得命令とは全指定領域に記述した構成となっており、パターンＢのパターンプログラムの指定命令と実行命令と取得命令とは個別指定領域ＳＥＱ（１）に記述した構成となっている。従って、パターンＡのパターンプログラムについては全てのシーケンサ４を対象として指定命令と実行命令と取得命令とが実行され、パターンＢのパターンプログラムについては一部のシーケンサ４（４−１および４−２）を対象として指定命令と実行命令と取得命令とが実行される。
【００５９】
この例で示すように、全指定領域と個別指定領域に領域を分けて、領域ごとに対象とするシーケンサ４を特定し、各命令を記述した構成としている。これにより、命令ごとにシーケンサ４を指定する必要がなくなり、単に所定の領域に命令を記述した構成とすることで、自動的に対象となるシーケンサ４が特定される。
【００６０】
複数のシーケンサ４を搭載し、各シーケンサ４で異なるパターンデータを入力して試験を行うような場合には、シーケンサ４ごとに何れのパターンデータを生成して入力するのかを特定しなければならない。パターンデータはパターンプログラムに基づくものであり、従ってパターンプログラムごとに何れのシーケンサ４を対象とするのかを特定しなければならなくなる。図５に示すように、シーケンサ４の個数は多数あることから、パターンプログラムの指定命令と実行命令と取得命令とについてシーケンサ４を特定する場合には、メインプログラム１３の記述量が著しく膨大且つ複雑になる。
【００６１】
この点、本発明では、全指定領域と個別指定領域とで領域ごとに対象とするシーケンサ４を特定し、領域内部に指定命令と実行命令と取得命令とを記述した構成とすることで自動的に各命令のシーケンサ４が特定できる。これにより、メインプログラム１３の構成を非常に単純化することができ、記述量を大幅に削減できる。このため、記述性が大幅に向上し、記述ミスが非常に少なくなる。
【００６２】
また、従来はシーケンサ４を１台のみ搭載するものが主流になっており、この場合のメインプログラムは指定命令と実行命令と取得命令とを単純に繰り返す構成となっていた。従って、この種のメインプログラムに慣れているユーザにとっては、命令ごとにシーケンサ４を指定した構成でメインプログラムを記述することは非常に記述性が悪いものになる。この点、本発明では、命令ごとにシーケンサ４の指定を行っておらず、従来の形式と非常に近い感覚でメインプログラムの記述を行うことができる。この点においても記述性が大幅に向上する。
【００６３】
図６には図２（ｃ）とは異なる６種類のメインプログラムを示している。図６において、シーケンサ定義ＳＥＱ（１）はシーケンサ４−１および４−２を定義しており、シーケンサ定義ＳＥＱ（２）はシーケンサ４−３および４−４を定義しているものとして説明する。
【００６４】
図６（ａ）はパターンＡとパターンＢとのパターンプログラムの指定命令をそれぞれ個別指定領域ＳＥＱ（１）とＳＥＱ（２）とにそれぞれ記述し、実行命令は全指定領域に記述し、取得命令は個別指定領域ＳＥＱ（１）とＳＥＱ（２）とに記述している。これにより、パターンＡのパターンプログラムがシーケンサ４−１および４−２で指定され、パターンＢのパターンプログラムがシーケンサ４−３および４−４で指定される。
【００６５】
そして、実行命令は一括して全指定領域、つまり全てのシーケンサ４−１〜４−Ｎを対象として行なう。このとき、シーケンサ４−１〜４−４にはパターンプログラムが指定されているが、シーケンサ４−５〜４−Ｎにはパターンプログラムが指定されていないため、シーケンサ４−１〜４−４のみが実行命令の対象となる。
【００６６】
また、取得命令はそれぞれ個別指定領域ＳＥＱ（１）とＳＥＱ（２）とになっているため、シーケンサ４−１および４−２から試験結果が取得され、シーケンサ４−３および４−４からも試験結果が取得される。
【００６７】
ここで、試験結果はパスフェイル情報であり、基本的にはパスまたはフェイルの二値データで表現される。例えば、パスは「０」、フェイルは「１」等である。このとき、全体としてフェイルがあるか否かの情報を最終的に求めるような場合には、取得命令により取得された試験結果をマージすることができる。
【００６８】
このマージとしては、全ての試験結果に対して論理和の処理を施すことにより得ることができる。例えば、パスを「０」、フェイルを「１」とするような場合には、論理和を取ることで、全てパスであれば「０」、１つでもフェイルがあれば「１」とするような１ビットの情報として取得できる。勿論、試験結果を個別的に取得する場合には、マージをしなくてもよい。
【００６９】
図６（ｂ）は取得命令を一括して行う場合であり、図６（ｃ）は実行命令と取得命令とを一括して行う場合である。このように、実行命令と取得命令とのうち何れか一方または両方を全指定領域に記述した構成とすることで、さらに記述量を削減することができるようになる。
【００７０】
ここで、指定命令と実行命令と取得命令との間で対象とするシーケンサ４は全て一致させなければならない。３つの命令の何れか１つでも対象とするシーケンサ４が異なる場合は、動作が不正確になる。例えば、指定命令と実行命令とが異なるシーケンサ４を対象としている場合、本来なら実行してはならないシーケンサ４が動作し、また実行すべきシーケンサ４が動作しないことになる。これはシーケンサの不整合を生じている状態になる。
【００７１】
ここで、シーケンサ４を動作させる場合、指定命令、実行命令、取得命令の順番で命令が実行され、つまり必ず指定命令が実行される。従って、指定命令を基準として実行命令との間、或いは指定命令および実行命令を基準として取得命令との間でシーケンサの不整合を起こさないようにしなければならない。換言すれば、シーケンサの不整合を生じている場合には、エラーとして処理を行い、試験結果を破棄するようにしなければならない。
【００７２】
図６（ｄ）〜（ｆ）はシーケンサの不整合を起こしている例を示している。同図（ｄ）はパターンＡのパターンプログラムの指定命令は全指定領域に記述されているため、全てのシーケンサ４を対象としているが、実行命令は個別指定領域ＳＥＱ（１）に記述されているため、一部のシーケンサ４−１および４−２のみが対象となる。従って、シーケンサの不整合を起こしている。
【００７３】
図６（ｅ）は異なる個別指定領域ＳＥＱ（１）とＳＥＱ（２）とにそれぞれ指定命令および実行命令と取得命令とを記述した構成としているため、指定命令と実行命令との間でシーケンサは整合しているものの、取得命令との間でシーケンサの不整合を起こしている。
【００７４】
図６（ｆ）はパターンＡのパターンプログラムの指定命令は全指定領域に記述されており、その後のパターンＢのパターンプログラムの指定命令は個別指定領域ＳＥＱ（１）に記述した構成となっている。このときには、個別指定領域ＳＥＱ（１）により特定されるシーケンサ４−１および４−２にはパターンＢのパターンプログラムが指定され、それ以外のシーケンサにはパターンＡのパターンプログラムが指定された状態になる。
【００７５】
この状態で、全指定領域に記述されている実行命令（２番目の実行命令）を実行すると、パターンＢのパターンプログラムだけではなく、パターンＡのパターンプログラムまでもが実行されることになる。つまり、予期しないパターンＡのパターンプログラムが実行されることになる。これは、パターンＢのパターンプログラムの指定命令と実行命令との間でシーケンサの不整合を起こしているためである。なお、この場合には、同様に取得命令との間でもシーケンサの不整合を起こしている。
【００７６】
以上のように、シーケンサの不整合を起こすのは、個別指定領域と全指定領域とに領域を分けて、それぞれの領域で個別的にシーケンサ４を指定するようにしたためである。個別指定領域と全指定領域とで領域を分けて命令を記述することで、メインプログラム１３の構成が大幅に削減でき、単純化できるが、以上のようなシーケンサの不整合を起こす可能性がある。そこで、図１の構成を用いてシーケンサの不整合の解消を図りつつ、ＤＵＴ１の試験を行う処理の流れについて説明する。
【００７７】
まず、シーケンサ制御部７はプログラム記憶部５からデバイス定義ファイル１１を読み出し、シーケンサ定義を認識する。次に、メインプログラム１３を読み出して、先頭から順番に命令の実行を行っていく。以下において、指定命令と実行命令と取得命令とでそれぞれ異なる動作を行うため、各命令で分けて説明する。
【００７８】
図７はシーケンサ制御部７が指定命令を実行したときに行う処理のフローチャートを示している。メインプログラム１３には多数の指定命令が存在しており、実行済みの指定命令と新たに実行する指定命令とが同じシーケンサ４を対象とすることがある。この場合に、以前に実行した指定命令の情報をそのまま残しておくと、本来実行されるべきでない実行済みの指定命令が再度実行されることになる。これにより、図６（ｆ）の例で説明したようなシーケンサの不整合が生じる。このため、実行済みの指定命令と新たに実行する指定命令との間でシーケンサ４が重複している場合には、実行済みの指定命令のシーケンサ４を無効化し、新たに実行する指定命令のシーケンサ４を有効化する。このとき、有効化および無効化されるシーケンサ４の情報はシーケンサ情報記憶部１４に記憶されるシーケンサ情報になる。
【００７９】
ここで、実行済みの指定命令と新たに実行する指定命令との間でシーケンサ４が重複していない場合には、両者とも有効にすることができる。例えば、図６（ａ）のように、パターンＡとパターンＢとのパターンプログラムの指定命令をそれぞれ異なる個別指定領域に記述しておき、後に一括して実行命令を実行するときには、２つの指定命令を有効にする。
【００８０】
具体的な処理について説明する。シーケンサ制御部７が指定命令を実行するときには、情報制御部８が指定命令の内容をシーケンサ制御部７から取得する。なお、機能的には、シーケンサ制御部７と情報制御部８とを分けているが、両者ともＣＰＵ２３により実現されるため、実際にデータの授受を行っているわけではない。
【００８１】
情報制御部８は全体情報記憶部１５の現指定シーケンサ情報と全指定シーケンサ情報との間で重複したシーケンサがあるか否かを確認する（ステップＳ１）。全指定シーケンサ情報と現指定シーケンサ情報との間で重複したシーケンサがなければ、実行済みの指定命令のシーケンサ４と新たに実行する指定命令のシーケンサ４とが重複しない。従って、無効化する処理は不要になる。一方、重複しているのであれば、実行済みの指定命令のシーケンサ情報を無効にし、新たに実行する指定命令のシーケンサ情報を有効にする。
【００８２】
このとき、情報制御部８は現指定シーケンサ情報と全指定シーケンサ情報との間で重複しているシーケンサの情報を重複シーケンサ情報「ＯＶＥＲＬＡＰ」として全体情報記憶部１５に一時的に記憶させる。そして、この重複シーケンサ情報がない場合（ＮＵＬＬデータの場合）には、ステップＳ１の判定で重複していないと判定して、ステップＳ８に進む。一方、重複シーケンサ情報がある場合（ＮＵＬＬデータではない場合）には、次のステップに進む。
【００８３】
情報制御部８は、次にステップＳ２〜Ｓ７のシーケンサ無効化ループの処理を行う。このシーケンサ無効化ループは、実行済みの指定命令のシーケンサ情報を無効化する処理であり、シーケンサ情報記憶部１４に記憶されているシーケンサ情報を１つずつ取り出して、全てのシーケンサ情報に対して行う。
【００８４】
情報制御部８はシーケンサ情報記憶部１４から１つのシーケンサ情報を取り出して、当該シーケンサ情報の指定シーケンサ情報と重複シーケンサ情報との間でシーケンサ４が重複しているか否かを判定する（ステップＳ３）。この判定で重複していないと判定した場合には、取り出したシーケンサ情報についてはシーケンサ４が重複しておらず、シーケンサの不整合を生じていない。このため、情報制御部８はステップＳ７に進み、次のシーケンサ情報のチェックを行う。
【００８５】
一方、重複していると判定した場合には、取り出したシーケンサ情報はシーケンサの不整合を生じていることになる。シーケンサ情報は実行済みの指定命令のシーケンサ４の情報を指定シーケンサ情報として有しているものであり、このシーケンサ情報の指定シーケンサ情報が重複しているのであれば、当該シーケンサ情報を削除して無効にしなければならない。このため、情報制御部８はこのシーケンサ情報に関するデータを情報記憶部６から完全に削除する。削除対象のシーケンサ情報に関するデータはシーケンサ情報記憶部１４と全体情報記憶部１５との両者にあり、両者からデータの削除を行う。
【００８６】
まず、情報制御部８はシーケンサ情報記憶部１４からシーケンサ情報の削除を行う（ステップＳ４）。削除を行うのは、取り出したシーケンサ情報であり、このシーケンサ情報は完全に削除される。次に、情報制御部８は全体情報記憶部１５から取り出したシーケンサ情報に関するデータを削除する（ステップＳ５）。
【００８７】
全体情報記憶部１５の各データのうち全指定シーケンサ情報と全使用シーケンサ情報と実行済みシーケンサ情報との３つの情報がシーケンサ情報に関係する情報を記憶している。そこで、これら３つの情報からデータを削除する。
【００８８】
例えば、取り出したシーケンサ情報の指定シーケンサ情報がシーケンサ４−１および４−２であれば、全指定シーケンサ情報からシーケンサ４−１および４−２を削除する。同様に、全使用シーケンサ情報からも削除を行う。なお、実行済みシーケンサ情報は実行済みのシーケンサ４に関する情報であるが、実行命令の基礎となる指定命令の指定シーケンサ情報が削除されることにより、対応する実行済みシーケンサ情報も削除される。
【００８９】
そして、情報制御部８は全体情報記憶部１５の有効シーケンサ情報数をデクリメントする（ステップＳ６）。取り出したシーケンサ情報を削除したため、シーケンサ情報記憶部１４からシーケンサ情報が１つ減少しているためである。
【００９０】
以上のステップＳ３〜Ｓ６の処理をシーケンサ情報記憶部１４に記憶されている全てのシーケンサ情報について行い、全てのシーケンサ情報のチェックが終了したときにシーケンサ無効化ループを終了する（ステップＳ７）。なお、ステップＳ４〜Ｓ６は何れの順番で行うものであってもよい。
【００９１】
シーケンサ無効化ループの処理により、実行済みの指定命令と新たに実行する指定命令との間でシーケンサに不整合を生じているときには、実行済みの指定命令のシーケンサ情報が無効化される。これにより、シーケンサの不整合が解消される。そして、新たに実行される指定命令を有効にするために、情報制御部８はシーケンサ情報記憶部１４に新たなシーケンサ情報の追加更新を行う（ステップＳ８）。
【００９２】
このために、パターンプログラムの名称をパターンプログラム名称として、指定命令が記述されている領域が対象としているシーケンサ４（つまり、現指定シーケンサ情報のシーケンサ４）の情報を指定シーケンサ情報として、パターンプログラムの使用ピン情報に基づくシーケンサ４の情報を使用シーケンサ情報として新たに追加更新を行う。
【００９３】
そして、全体情報記憶部１５の追加更新を行う（ステップＳ９）。更新されるのは、全指定シーケンサ情報と全使用シーケンサ情報と有効シーケンサ情報数との３つである。全指定シーケンサ情報と全使用シーケンサ情報とにはそれぞれ追加対象となるシーケンサ情報の指定シーケンサ情報と使用シーケンサ情報とが更新され、有効シーケンサ情報数はインクリメントがなされる。なお、ステップＳ８とＳ９との順番は問わない。
【００９４】
ここで、図７のフローチャートにおいて、処理すべきステップはＳ２〜Ｓ９になる。つまり、シーケンサ情報の無効化および有効化の処理はステップＳ２〜Ｓ９になり、ステップＳ１は重複したシーケンサ４が存在しない場合にシーケンサ無効化ループを省略するものになる。従って、ステップＳ１の処理はあくまでも不要な処理を省略して処理の迅速化を図るものであり、ステップＳ１を設けないものであってもよい。
【００９５】
以上の処理が指定命令を実行したときの処理である。この処理により指定命令の間でのシーケンサの不整合は解消される。当該処理を終了した後に、情報制御部８はシーケンサ制御部７にその旨を通知し、シーケンサ制御部７は次の命令の実行を行う。
【００９６】
図８乃至図１０を参照して、実行命令を行うときの処理を説明する。シーケンサ制御部７がメインプログラム１３に記述されている実行命令を実行するときに、情報制御部８は実行命令の内容を取得する。そして、情報制御部８はシーケンサ制御部７が実行命令を実行する前に、予めシーケンサ４の不整合の確認を行う。これが整合性チェック処理になる。この処理を図８および図９に示す。なお、整合性チェック処理は後述する取得命令においても行われる。
【００９７】
図８において、情報制御部８は、以前に指定命令が実行されたことがあるか否かを判定する（ステップＳ１１）。実行命令は指定命令が実行されたことが前提である。つまり、実行命令は指定命令により指定されるパターンプログラムを実行する命令であり、１つも指定命令が実行されていないのであれば、パターンプログラムの実行を行い得ない。
【００９８】
指定命令が実行されたか否かは全体情報記憶部１５の全指定シーケンサ情報を参照することにより認識される。この全指定シーケンサ情報に何らのシーケンサ４の情報が記憶されていなければ、実行命令の対象となるシーケンサ４が存在していないことになる。そこで、情報制御部８は、全体情報記憶部１５の全指定シーケンサ情報を参照して、シーケンサ４のデータがあるか否か（つまり、ＮＵＬＬデータになっているか否か）を確認する。
【００９９】
データがないと判定した場合には、実行命令が対象とするシーケンサ４が存在しないため、エラー処理を行って（ステップＳ２０）、全ての処理を終了する。一方、データがあると判定した場合には、情報制御部８は実行命令が全てのシーケンサ４を対象としているか否かを判定する（ステップＳ１２）。
【０１００】
実行命令が全てのシーケンサ４を対象としている場合には、指定命令を実行したシーケンサ４は必ず含まれており、当該シーケンサ４は必ず実行される。しかも、前述したように指定命令の間でのシーケンサの不整合は解消されているため、実行命令が全てのシーケンサ４を対象としていれば、シーケンサの不整合を生じることはない。この場合には、情報制御部８はシーケンサが整合していると認識する（ステップＳ２１）。
【０１０１】
このために、情報制御部８は全体情報記憶部１５の現指定シーケンサ情報を参照し、この現指定シーケンサ情報が全てのシーケンサ４の情報を有しているかを判定する。全てのシーケンサ４の情報を有している場合には、シーケンサは整合していると認識して、ステップＳ２１に進み、そうでない場合には、次のステップに進む。
【０１０２】
次に、情報制御部８は全体情報記憶部１５の現指定シーケンサ情報と全指定シーケンサ情報とを比較して、シーケンサ４の情報が一致しているか否かを判定する（ステップＳ１３）。全指定シーケンサ情報は実行された指定シーケンサ情報の和になっていることから、現指定シーケンサ情報と全指定シーケンサ情報とが一致していれば、この時点で指定命令と実行命令との間でシーケンサが整合していることが認識できる。そこで、情報制御部８は２つの情報を比較して、一致していればシーケンサの整合を認識ステップＳ２１に進み、一致していなければ次のステップに進む。
【０１０３】
次に、情報制御部８は全体情報記憶部１５の現指定シーケンサ情報と全指定シーケンサ情報とを参照して、現指定シーケンサ情報のシーケンサ４と全指定シーケンサ情報で指定していないシーケンサ４とが重複しているか否かを判定する（ステップＳ１４）。全指定シーケンサ情報で指定しないシーケンサ４はシーケンサ情報記憶部１４のシーケンサ情報が何れも指定していないシーケンサになる。この場合は、指定されていないシーケンサ４を実行することになるため、シーケンサの不整合が生じていることが認識される。このため、重複していないと判定したときには、不整合が生じているものとしてエラー処理を行い（ステップＳ２０）、重複していない場合は、次のステップに進む。
【０１０４】
ステップＳ１５〜Ｓ１９はシーケンサ情報チェックループになる。このシーケンサ情報チェックループにおいて、情報制御部８はシーケンサ情報記憶部１４の全てのシーケンサ情報を１つずつチェックしていく。そして、全てのシーケンサ情報のチェックが終了したときに、シーケンサ情報チェックループが終了する。
【０１０５】
シーケンサ情報チェックループの処理について説明する。最初に、情報制御部８はチェック対象シーケンサ情報「ＣＨＥＣＫ」の生成を行う（ステップＳ１６）。情報制御部８は、シーケンサ情報記憶部１４から１つのシーケンサ情報を取り出して、当該シーケンサ情報の指定シーケンサ情報と現指定シーケンサ情報とで重複しているシーケンサ４をチェック対象シーケンサ情報として生成する。なお、このチェック対象シーケンサ情報は一時的に全体情報記憶部１５に記憶される。
【０１０６】
次に、情報制御部８は、チェック対象シーケンサが存在するか否かを判定する（ステップＳ１７）。チェック対象シーケンサが存在しない場合（つまり、チェック対象シーケンサ情報がＮＵＬＬデータの場合）には、シーケンサ情報記憶部１４から取り出したシーケンサ情報は実行命令の対象とはならないため、次のシーケンサ情報のチェックを行うべくステップＳ１９に進む。
【０１０７】
一方、チェック対象シーケンサが存在する場合には、チェック対象シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報とが一致しているか否かを情報制御部８が判定する（ステップＳ１８）。チェック対象シーケンサ情報のシーケンサと指定シーケンサ情報とはそれぞれ複数のシーケンサ４を有している場合があり、その全部が一致しない場合もある。全部が一致しない場合には、実行していない指定命令を実行することになるため、シーケンサの不整合を起こしていることが分かる。
【０１０８】
この場合には、情報制御部８はエラー処理（ステップＳ２０）を行って、処理を終了する。一方、全部が一致する場合には、シーケンサが整合していることが分かるため、次のシーケンサ情報のチェックを行うため、ステップＳ１９に進む。以上のシーケンサ情報チェックループを全てのシーケンサ情報について行う。
【０１０９】
シーケンサ情報チェックループにおいてステップＳ２０のエラー処理が行われなければ、シーケンサは整合していることになる。つまり、全てのシーケンサ情報についてシーケンサ情報チェックループの処理が終了したときには、シーケンサが整合していることが認識される（ステップＳ２１）。情報制御部８はシーケンサが整合している旨をシーケンサ制御部７に通知し、この通知に基づいてシーケンサ制御部７は実行命令を実行する。
【０１１０】
ところで、図８のフローチャートの例では、ステップＳ１１〜Ｓ１４の条件分岐によりシーケンサの整合または不整合を認識している。これは、全体情報記憶部１５の全体情報に基づいて、即時にシーケンサの整合または不整合の判断ができるためである。この場合には、シーケンサ情報チェックループの処理を省略できる。これにより、不要な処理を省略して、処理の迅速化を図っている。ただし、ステップＳ１１〜Ｓ１４の処理を行わずに、シーケンサ情報記憶部１４のみに基づいて、シーケンサの整合性をチェックすることもできる。図９を用いて、シーケンサ情報記憶部１４のみを用いてシーケンサの整合性のチェックを行う場合について説明する。
【０１１１】
最初に、情報制御部８は現指定シーケンサ情報を参照して実行命令が全てのシーケンサ４を対象としているか否かを判定する（ステップＳ３１）。この判定処理は図９のステップＳ１２と同じ処理になる。次に、現指定シーケンサ情報を一時的に別のデータにコピーして保存する（ステップＳ３２）。この保存したデータをテンポラリ情報「ＴＥＭＰ」として全体情報記憶部１５に一時的に記憶する。
【０１１２】
そして、情報制御部８はステップＳ３３〜Ｓ３８のシーケンサ情報チェックループの処理を行う。前述したように、シーケンサ情報記憶部１４から１つずつシーケンサ情報を取り出して、全てのシーケンサ情報についてチェックを行う。
【０１１３】
まず、情報制御部８は、チェック対象シーケンサ情報を生成する（ステップＳ３４）。この処理は図７のステップＳ１６と同じ処理であり、取り出したシーケンサ情報の指定シーケンサ情報と現指定シーケンサ情報とで重複しているシーケンサ４の情報がチェック対象シーケンサ情報になる。
【０１１４】
そして、情報制御部８はチェック対象シーケンサ情報が存在するか否かを判定し（ステップＳ３５）、存在しない場合には、次のシーケンサ情報を取り出すべくステップＳ３８に進む。一方、存在する場合には、情報制御部８はチェック対象シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報とが一致しているか否かを判定する（ステップＳ３６）。この判定処理は図８のステップＳ１８と同じである。
【０１１５】
情報制御部８はステップＳ３６において一致していないと判定した場合には、エラー処理（ステップＳ４０）を行って、処理を終了する。一方、一致していると判定した場合には、テンポラリ情報の更新を行う（ステップＳ３８）。ここでは、テンポラリ情報からチェック対象シーケンサ情報を削除する更新を行う。これにより、現指定シーケンサのうちチェックを行ったシーケンサ４をテンポラリ情報から除外できる。
【０１１６】
以上の処理をシーケンサ情報記憶部１４に記憶されている全てのシーケンサ情報について行う。そして、情報制御部８は、シーケンサ情報チェックループが終了したときにテンポラリ情報が残存しているか否かを判定する（ステップＳ３９）。ステップＳ３７により整合しているシーケンサ４の情報は削除されており、シーケンサ情報チェックループが終了したときにはテンポラリ情報から全てのシーケンサ４の情報は削除されていなければならない（つまり、ＮＵＬＬデータになっていなければならない）。このときに、テンポラリ情報がＮＵＬＬデータになっていなければ、指定命令が実行されていないシーケンサ４に対して実行命令を実行することになる。従って、この場合には、シーケンサが不整合になるため、エラー処理（ステップＳ４０）を行って、処理を終了する。
【０１１７】
一方、ステップＳ３９において、残存していないと判定されれば、シーケンサが整合していることが認識される（ステップＳ４１）。以上のようにして、シーケンサ情報記憶部１４のシーケンサ情報のみによってチェックを行うこともできる。
【０１１８】
次に、図１０を用いて、実行命令の処理について説明する。実行命令を行うときには、情報制御部８により前述した図８または図９のシーケンサの整合性チェックを行う（ステップＳ５１）。チェックの結果、整合していないと判定した場合には、エラー処理（ステップＳ５５）を行って処理を終了する。なお、このステップＳ５５のエラー処理は図８で説明したステップＳ２０および図９で説明したステップＳ４０のエラー処理に該当する。
【０１１９】
一方、整合していると情報制御部８が判定した場合には、情報制御部８は全体情報記憶部１５の実行済みシーケンサ情報に対して現指定シーケンサ情報のシーケンサを追加する更新を行う（ステップＳ５３）。これにより、新しく実行を行うシーケンサの情報が実行済みシーケンサ情報として記憶される。
【０１２０】
次に、情報制御部８はシーケンサ制御部７に対して整合している旨の通知を行い、シーケンサ制御部７は実行命令の実行を行う（ステップＳ５４）。このとき、シーケンサ制御部７は情報記憶部６のシーケンサ情報記憶部１４を参照して実行するシーケンサ４を特定する。
【０１２１】
シーケンサ情報記憶部１４には１または複数のシーケンサ情報が記憶されており、各シーケンサ情報はパターンプログラムが指定されたシーケンサの情報になっている。しかも、前述した各処理によりシーケンサの不整合が生じていない状態になっているため、各シーケンサ情報の内容を実行することにより、指定命令が実行されたシーケンサ４に対して実行命令を行うことができる。
【０１２２】
シーケンサ情報はパターンプログラムごとに指定シーケンサ情報と使用シーケンサ情報とを有しており、このうち使用シーケンサ情報に基づいてシーケンサ制御部７は実行するシーケンサ４を特定する。指定シーケンサ情報はメインプログラム１３にユーザが記述した内容に基づくシーケンサ４の情報であり、使用シーケンサ情報は使用ピン情報に基づくシーケンサ４の情報であるため、基本的には指定シーケンサ情報と使用シーケンサ情報とは同じ情報（つまり、同じシーケンサ４の情報）になる。
【０１２３】
しかし、指定シーケンサ情報と使用シーケンサ情報とが一致しない場合もある。この場合には、使用シーケンサ情報により特定されるシーケンサ４を実行させるようにシーケンサ制御部７が制御する。使用シーケンサ情報は実際の使用ピン情報に基づく情報であり、当該情報が実際に動作するシーケンサ４の情報になるため、使用シーケンサ情報に基づいてシーケンサ４を特定する。
【０１２４】
従って、シーケンサ制御部７は実行命令を行うときには、シーケンサ情報記憶部１４の使用シーケンサ情報に基づいて、シーケンサ４の動作制御を行う。使用シーケンサ情報に対してはパターンプログラムが特定されるため、シーケンサ制御部７は当該パターンプログラムの内容を対象となるシーケンサ４に出力する。そして、シーケンサ４はパターンプログラムの内容に基づいてパターンデータを生成して試験を行う。これにより、実行命令が実行されたことになる。
【０１２５】
次に、取得命令を実行するときの処理について図１１を用いて説明する。シーケンサ制御部７がメインプログラム１３を読み込んで取得命令を実行するときに、情報制御部８はシーケンサ制御部７から取得命令の内容を取得する。そして、最初にシーケンサが整合しているか否かのチェックを行う（ステップＳ６１）。このチェック処理は実行命令のときと同じであり、図８または図９で示した一連の処理になる。
【０１２６】
情報制御部８がシーケンサの不整合と判定したときにはエラー処理を行い（ステップＳ７０）、整合していると判定した場合には次のステップに進む。
【０１２７】
次に、情報制御部８は実行しようとしている取得命令が全てのシーケンサ４を対象としているか否かを判定する（ステップＳ６３）。この判定を行うために、情報制御部８は全体情報記憶部１５の現指定シーケンサ情報が全てのシーケンサ４を対象としているか否かを判定し、全てのシーケンサ４を対象としていると判定した場合には、実行済みのシーケンサ４が存在しているか否かの判定を行う（ステップＳ６４）。
【０１２８】
実行済みのシーケンサ４が存在しているか否かについては、情報制御部８が全体情報記憶部１５の実行済みシーケンサ情報のデータがあるか否か（ＮＵＬＬデータになっているか否か）に基づいて判断する。データがないと判定した場合（ＮＵＬＬデータになっている場合）には、実行していないシーケンサ４から試験結果の取得を行おうとしているため、エラー処理（ステップＳ７１）を行って、処理を終了する。なお、このステップＳ７１のエラー処理は、処理を終了するという点でステップＳ７０と同じである。一方、データがあると判定した場合（ＮＵＬＬデータになっていない場合）には、次の試験結果取得ループに進む。
【０１２９】
ステップＳ６３において、情報制御部８が全てのシーケンサ４を対象としていないと判定した場合には、実行しようとしている取得命令が実行命令を実行していないシーケンサ４を対象としているか否かを判定する（ステップＳ６５）。このために、情報制御部８は現指定シーケンサ情報のシーケンサ４と実行済みシーケンサ情報のシーケンサ以外のシーケンサ４とが重複しているか否かを判定する。
【０１３０】
重複している場合には、実行していないシーケンサ４から試験結果を取得しようとしているため、エラー処理（ステップＳ７０）を行って、処理を終了する。一方、重複していない場合、つまり実行済みのシーケンサ４から試験結果を取得しようとしている場合には、次のステップに進む。
【０１３１】
ステップＳ６４で実行済みシーケンサが存在していると判定した場合、およびステップＳ６５でシーケンサが重複していると判定した場合には、ステップＳ６６〜Ｓ６９の試験結果取得ループの処理を行う。この試験結果取得ループの処理はシーケンサ情報記憶部１４の全てのシーケンサ情報に対して１つずつ行う。
【０１３２】
最初に、取り出したシーケンサ情報が取得命令の対象となるシーケンサ４となっているか否かについて判定する（ステップＳ６７）。このために、情報制御部８は現指定シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報との間で重複しているシーケンサ４があるか否かで判断を行う。重複しているシーケンサ４がないと判断した場合には、このシーケンサ情報からは試験結果の取得は行われないため、次のシーケンサ情報のチェックを行うべく、ステップＳ６９に進む。
【０１３３】
一方、重複しているシーケンサ４があると判定した場合には、情報制御部８はシーケンサ制御部７に対してその旨の通知を出し、シーケンサ制御部７は取得命令を実行して、試験結果の取得を行う（ステップＳ６８）。
【０１３４】
実行命令のときと同様に、取得命令の場合も、シーケンサ制御部７はシーケンサ情報記憶部１４のシーケンサ情報を参照して取得命令を行う。シーケンサ制御部７はシーケンサ情報のうち使用シーケンサ情報を参照して、この使用シーケンサ情報により特定されるシーケンサ４から試験結果の取得を行う。これにより、実際に動作したシーケンサ４から試験結果の取得を行うことができる。
【０１３５】
以上の取得動作を全てのシーケンサ情報に対して行った後に、試験結果をマージする（ステップＳ７２）。マージについては既に述べたとおりであり、取得命令を実行したシーケンサ４から取得したパスフェイル情報の論理和或いは論理積をとることにより、１ビットのデータとして結果取得を行い得る。なお、各シーケンサ４から個別的に試験結果を取得する場合には、ステップＳ７２のマージを行う必要はない。これにより、取得動作が完了する。
【０１３６】
シーケンサ制御部７および情報制御部８は、メインプログラム１３に多数記述されている指定命令、実行命令、取得命令を以上のような処理を繰り返すことで処理を行っていく。メインプログラム１３の全ての命令を実行したときに、全ての処理を終了する。
【符号の説明】
【０１３７】
１    ＤＵＴ                ２    ＰＥカード
３    テスタコントローラ        ４    シーケンサ
５    プログラム記憶部        ６    情報記憶部
７    シーケンサ制御部        ８    情報制御部
１１    デバイス定義ファイル        １２    パターンプログラム
１３    メインプログラム        １４    シーケンサ情報記憶部
１５    全体情報記憶部
【図１】
2011007721.tif 000003
【図２】
2011007721.tif 000004
【図３】
2011007721.tif 000005
【図４】
2011007721.tif 000006
【図５】
2011007721.tif 000007
【図６】
2011007721.tif 000008
【図７】
2011007721.tif 000009
【図８】
2011007721.tif 000010
【図９】
2011007721.tif 000011
【図１０】
2011007721.tif 000012
【図１１】
2011007721.tif 000013
【図１２】
2011007721.tif 000014
【図１３】
2011007721.tif 000015