JP2011007721A - 半導体試験装置、半導体試験方法および半導体試験プログラム - Google Patents
半導体試験装置、半導体試験方法および半導体試験プログラム Download PDFInfo
- Publication number
- JP2011007721A JP2011007721A JP2009153474A JP2009153474A JP2011007721A JP 2011007721 A JP2011007721 A JP 2011007721A JP 2009153474 A JP2009153474 A JP 2009153474A JP 2009153474 A JP2009153474 A JP 2009153474A JP 2011007721 A JP2011007721 A JP 2011007721A
- Authority
- JP
- Japan
- Prior art keywords
- sequencer
- information
- designated
- instruction
- executed
- 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
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】複数のシーケンサに対して異なるパターンデータを生成して試験を行わせる場合において、簡単なプログラム構成で動作制御を行うことを目的とする。
【解決手段】DUT1に対して入力するパターンデータを生成するシーケンサ4を複数備えた半導体試験装置であって、全てのシーケンサ4を対象とする全指定領域と一部のシーケンサ4を対象とする個別指定領域とにシーケンサ4の動作制御を行う命令を記述したメインプログラム12を記憶するプログラム記憶部5と、全指定領域に記述した命令を実行するときには全てのシーケンサ4を対象とし、個別指定領域に記述した命令を実行するときには一部のシーケンサ4を対象として動作制御を行うシーケンサ制御部7と、を備えている。
【選択図】 図1
【解決手段】DUT1に対して入力するパターンデータを生成するシーケンサ4を複数備えた半導体試験装置であって、全てのシーケンサ4を対象とする全指定領域と一部のシーケンサ4を対象とする個別指定領域とにシーケンサ4の動作制御を行う命令を記述したメインプログラム12を記憶するプログラム記憶部5と、全指定領域に記述した命令を実行するときには全てのシーケンサ4を対象とし、個別指定領域に記述した命令を実行するときには一部のシーケンサ4を対象として動作制御を行うシーケンサ制御部7と、を備えている。
【選択図】 図1
Description
本発明は、メモリやIC、LSI等の被試験デバイスの試験を行うためのシーケンサを複数搭載した半導体試験装置、半導体試験方法および半導体試験プログラムに関するものである。
ICやLSIやメモリ等の被試験デバイス(DUT)の試験を行う半導体試験装置、特に複数のシーケンサを備える半導体試験装置が従来から用いられている。図12に示すように、この種の半導体試験装置は、DUT101と複数のPEカード102−1〜102N(総称してPEカード102とする)とメインフレーム103とを備えて概略構成している。DUT101はICやLSI、メモリ等の被試験デバイスであり、複数ピンを備えている。
PEカード102はDUT101の試験を行うための試験部として機能するピンエレクトロニクスカードであり、DUT101のピンに接続される。PEカード102は試験を行うためのパターンデータをDUT101に対して入力し、DUT101から出力される出力パターンを比較することにより良否判定(パスフェイル判定)を行う。PEカード102は複数枚(N枚:Nは2以上の整数)を装着しており、各PEカード102がDUT101の各ピンに接続している。
メインフレーム103はテスタコントローラ104とシーケンサ105とを備えている。テスタコントローラ104は半導体試験装置の全体の動作制御(ここではシーケンサ105の制御)を行っている。シーケンサ105はDUT101の試験を行うためのパターンデータを生成するパターンジェネレータである。パターンデータはDUT101の試験を行うためのテストパターンであり、このパターンデータが各PEカード102に分配される。そして、PEカード102はパターンデータをDUT101入力して試験を行う。従って、各PEカード102は同一のパターンデータに基づいてDUT101の試験を行う。
一方、図13に示すように、各PEカード102にそれぞれシーケンサ105(105−1〜105−N)を搭載した半導体試験装置が近年用いられるようになっている。PEカード102ごとにシーケンサ105を搭載することで、DUT101の各ピンに対してそれぞれ異なる試験を行うことが可能になる。例えば、DUT101に機能がそれぞれ異なる複数の回路ブロックを搭載したICを適用した場合には、回路ブロックごとに異なるテストパターンを入力して試験を行う場合がある。このために、シーケンサ105をPEカード102ごとに搭載して、異なるテストパターンを入力するようにしている。
以上のように、シーケンサ105とPEカード102とを使用してDUT101の試験を行う半導体試験装置としては、例えば特許文献1に開示されている技術がある。
シーケンサ105を1台搭載する場合であっても、シーケンサ105を複数搭載する場合であっても、シーケンサ105の制御はテスタコントローラ104によってなされる。テスタコントローラ104はDUT101の試験内容を記述したテストプログラムを記憶しており、このテストプログラムはパターンデータの内容を記述した複数のパターンプログラムと当該パターンプログラムを実行する手順を記述したメインプログラムとを有している。
テスタコントローラ104はメインプログラムに応じてパターンプログラムの内容をシーケンサ105に出力し、シーケンサ105はパターンプログラムの内容に応じたパターンデータを生成してDUT101の試験を行う。パターンプログラムおよびメインプログラムの内容はユーザが所望の試験に応じて任意に記述する。
メインプログラムは主に3つの命令を有して構成される。パターンデータの内容が記述されたパターンプログラムを指定する命令(指定命令)と指定済みのパターンプログラムを実行する命令(実行命令)と試験を行った結果を取得する命令(取得命令)との3つを有して構成される。従って、指定命令によりパターンプログラムを指定した状態で実行命令を行うことにより、シーケンサ105からDUT101に対して所定のパターンデータが入力される。このパターンデータにはパスフェイル判定を行うための期待値となる期待値パターンの情報も含まれており、シーケンサ105はDUT101からの出力パターンと期待値パターンとを比較してパスフェイル判定を行う。そして、取得命令を実行することにより、シーケンサ105から試験結果の情報(パスフェイル情報)を取得することで、1つのパターンデータによるDUT101の試験が完了する。
シーケンサ105を1台搭載する場合には、全てのPEカード102に対して同じパターンデータで試験を行うように制御を行うため、指定命令と実行命令と取得命令とを単純に繰り返すことにより試験を行うことができる。しかし、図13のようにシーケンサ105を複数搭載し、それぞれのシーケンサ105により異なるパターンデータで試験を行わせるためには、指定命令と実行命令と取得命令との全てについて対象となるシーケンサ105を特定しなければならない。このため、メインプログラムの内容が著しく膨大且つ複雑なものになり、記述性の低下や記述ミスといった問題を生じる。
そこで、本発明は、複数のシーケンサに対して異なるパターンデータを生成して試験を行わせる場合において、簡単なプログラム構成で動作制御を行うことを目的とする。
以上の課題を解決するため、本発明の請求項1の半導体試験装置は、被試験デバイスに対して入力するパターンデータを生成するシーケンサを複数備えた半導体試験装置であって、全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを記憶するプログラム記憶部と、前記全指定領域に記述した命令を実行するときには前記全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象として動作制御を行うシーケンサ制御部と、を備えたことを特徴とする。
この半導体試験装置によれば、メインプログラムに全指定領域と個別指定領域とを設定して対象とするシーケンサを特定し、各領域に命令を記述していることから、命令ごとにシーケンサを特定することなく、各命令について自動的にシーケンサが特定される。このため、プログラムの記述量を著しく削減でき、記述性の向上や記述ミスの低減といった効果が得られる。
本発明の請求項2の半導体試験装置は、請求項1記載の半導体試験装置であって、前記パターンデータの内容を記述したパターンプログラムを指定する指定命令が実行されたときに更新され、前記指定命令が対象とするシーケンサの情報を指定シーケンサ情報として前記パターンプログラムごとに有するシーケンサ情報を記憶するシーケンサ情報記憶部と、前記シーケンサ情報記憶部に記憶されているシーケンサ情報の指定シーケンサ情報と新たに実行する指定命令とで対象とするシーケンサが重複している場合には、既に記憶されているシーケンサ情報を削除し、新たに実行する指定命令のシーケンサの情報をシーケンサ情報として追加する制御を行うシーケンサ情報制御部と、をさらに備えたことを特徴とする。
この半導体試験装置によれば、既に実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には、既に実行済みの指定命令のシーケンサが削除されて無効になる。これにより、指定命令の間でシーケンサの不整合が生じなくなる。
本発明の請求項3の半導体試験装置は、請求項2記載の半導体試験装置であって、前記シーケンサ情報制御部は、指定したシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと前記シーケンサ情報の指定シーケンサ情報が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定することを特徴とする。
この半導体試験装置によれば、指定命令と実行命令とでシーケンサが一致しないような場合には、シーケンサの不整合を検出している。これにより、指定命令を実行していないシーケンサが実行されることを回避できるようになる。
本発明の請求項4の半導体試験装置は、請求項3記載の半導体試験装置であって、前記実行命令が実行されたシーケンサの情報を実行済みシーケンサ情報として記憶する全体情報記憶部をさらに備え、前記シーケンサ制御部は、前記指定シーケンサ情報および前記実行済みシーケンサ情報を参照して、前記指定命令が対象としているシーケンサおよび前記実行命令が対象としているシーケンサと試験結果を取得する取得命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定することを特徴とする。
この半導体試験装置によれば、取得命令と指定命令および取得命令と指定命令とでシーケンサが一致しないような場合には、シーケンサの不整合を検出している。これにより、指定命令および実行命令を実行していないシーケンサから試験結果が取得されることが回避される。
本発明の請求項5の半導体試験装置は、請求項4記載の半導体試験装置であって、前記シーケンサ情報は、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサの情報を使用シーケンサ情報として有しており、前記シーケンサ制御部は、前記実行命令および前記取得命令を実行するときには、前記使用シーケンサ情報により特定されるシーケンサを対象として動作制御を行うことを特徴とする。
この半導体試験装置によれば、使用シーケンサ情報により特定されるシーケンサに対して実行命令および取得命令を行うため、メインプログラムにより指定されるシーケンサとパターンプログラムにより指定されるシーケンサとが異なっていた場合でも、実際に動作するシーケンサを対象とすることができるようになる。
本発明の請求項6の半導体試験方法は、被試験デバイスに対してパターンデータを入力して試験を行うシーケンサをそれぞれ有する複数の試験部を用いて前記被試験デバイスの試験を行う半導体試験方法であって、全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを読み出すステップと、前記全指定領域に記述した命令を実行するときには全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象としてシーケンサの動作制御を行うステップと、を有することを特徴とする。
本発明の請求項7の半導体試験方法は、請求項6記載の半導体試験方法であって、前記シーケンサの動作制御を行うステップは、前記命令のうち前記パターンデータの内容を記述したパターンプログラムを指定する指定命令を実行するときに、実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には前記実行済みの指定命令が対象とするシーケンサの情報を削除して、新たに実行する指定命令のシーケンサの情報を追加するステップをさらに有することを特徴とする。
本発明の請求項8の半導体試験方法は、請求項7記載の半導体試験方法であって、指定されたシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと実行済みの指定命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有することを特徴とする。
本発明の請求項9の半導体試験方法は、請求項8記載の半導体試験方法であって、前記シーケンサから試験結果を取得する取得命令と前記指定命令との間で、および前記取得命令と前記実行命令との間で対象とするシーケンサを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有することを特徴とする。
本発明の請求項10の半導体試験方法は、請求項9記載の半導体試験方法であって、前記取得命令および前記実行命令を実行するときには、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサに対して制御を行うことを特徴とする。
本発明の請求項11の半導体試験プログラムは、コンピュータに、請求項6乃至10の何れか1項に記載の方法の各ステップを実行させるためのプログラムである。
本発明は、メインプログラムを全指定領域と個別指定領域とに分け、各領域がそれぞれ対象となるシーケンサを持つ領域とした。これにより、命令ごとに対象とするシーケンサを特定しなくても、領域内部に命令を記述することにより自動的に対象とするシーケンサが特定されるため、メインプログラムの記述量が大幅に削減され、記述性の向上や記述ミスの低減化といった効果が得られる。
また、領域ごとに命令を記述することで生じる可能性のあるシーケンサの不整合は、シーケンサ情報記憶部と全体情報記憶部とを設けてシーケンサの管理を行うことで、対処することができるようになる。
以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の半導体試験装置の機能ブロック図を示している。図1の半導体試験装置は、DUT1とN(Nは2以上の整数)個のPEカード2−1〜2−N(総称してPEカード2とする)とテスタコントローラ3とを備えて概略構成している。DUT1はICやLSI、メモリ等の被試験デバイスであり、複数のピンを有している。
PEカード2はDUT1の試験を行うための試験部として機能するピンエレクトロニクスカードであり、N個のPEカード2がDUT1の各ピンに対して接続されている。各PEカード2にはそれぞれシーケンサ4(4−1〜4−N)が搭載されている。各シーケンサ4はDUT1にそれぞれ異なるパターンデータ(テストパターン)を入力することが可能なパターンジェネレータである。また、各シーケンサ4はDUT1から出力される出力データに基づいてDUT1の良否判定(パスフェイル判定)を行う。パスフェイル判定を行った結果は、テスタコントローラ3からの要求に応じて試験結果として出力する。なお、パスフェイル判定を行う機能をシーケンサ4ではなく、PEカード2に判定手段として持たせるようにしてもよい。
テスタコントローラ3は全体の制御を行うコントローラであり、図示しないメインフレームの内部に設けられている。このテスタコントローラ3は、プログラム記憶部5と情報記憶部6とシーケンサ制御部7と情報制御部8とを備えて概略構成している。プログラム記憶部5は3つのプログラム(デバイス定義ファイル11、パターンプログラム12およびメインプログラム13)からなるテストプログラムを記憶している。
デバイス定義ファイル11はDUT1の試験を行うための各種設定情報を有している。例えば、DUT1のピン数等の設定情報である。本発明では、このデバイス定義ファイル11に新たにシーケンサ定義を設けている。シーケンサ定義は、N個のシーケンサ4のうち全部または特定の一部のシーケンサ4を指定して予め定義するためのものである。なお、デバイス定義ファイル11は実際に動作するプログラムではないが、ここではプログラムに含まれるものとして説明する。
図2(a)にシーケンサ定義の一例を示している。シーケンサ定義には個別的に識別子が付されており、図2(a)の例ではSEQ(1)がシーケンサ定義の識別子として付されており、シーケンサ定義SEQ(1)はPE1およびPE2を定義している。シーケンサ4はPEカード2ごとに1つ搭載されていることから、PEカード2の番号を指定することによりシーケンサ4が特定される。従って、図2(a)の例では、シーケンサ定義SEQ(1)によりPEカード1の1番および2番(PEカード1−1および1−2)、つまりシーケンサ4−1および4−2が定義される。
なお、ここでは、シーケンサ定義をPEカードの番号により定義したが、シーケンサ4の番号を直接的に定義してもよい。また、シーケンサ定義をデバイス定義ファイル11ではなく、メインプログラム13に設けるものであってもよい。さらに、PEカード2とシーケンサ4とで番号を一致させなくても、両者の対応関係が取れていれば、異なる番号であってもよい。
図1に示すパターンプログラム12はシーケンサ4を制御するためのプログラムである。パターンプログラム12は図2(b)に示すような構成となっており、DUT1のピン番号の情報(ピン番号情報)を有している。また、パターンデータと期待値パターンとのパターン情報を有している。ピン番号情報は、例えば図2(b)の「PIN 1234」ように記憶されている。このピン番号情報はDUT1の1〜4ピンに接続する試験を行うことを示している。また、パターン情報は「NOP 10HL」のように記憶しており、「1」および「0」はDUT1に入力するパターンデータを示し、「H」および「L」は前記のパターンデータを入力した場合における期待値のパターンを示している。なお、NOPは格別の操作を行わないノーオペレーション命令になる。
DUT1の試験は多種類のパターンデータを入力して行うため、プログラム記憶部5には多種類のテストプログラムが記憶されている。図2(b)には2種類のパターンプログラムを示しているが、実際には非常に多くのパターンプログラムがプログラム記憶部5に記憶されている。
メインプログラム13はDUT1の試験を行うための手順が記述されたプログラムである。このメインプログラム13は主に3つの命令から構成されている。1)指定命令:パターンプログラムを指定するための命令、2)実行命令:指定されたパターンプログラムを実行するための命令、3)取得命令:シーケンサ4から試験結果を取得する命令、の3つの命令から構成されている。図2(c)はメインプログラム13の一例を示しており、「SETPAT」は指定命令、「EXECPAT」は実行命令、「GETRESULT」は取得命令になっている。
ここで、メインプログラム13は2つの領域を有して構成されている。1つは全指定領域であり、もう1つは個別指定領域である。全指定領域は全てのシーケンサ4を対象とする領域であり、個別指定領域は特定の一部のシーケンサ4のみを対象とする領域である。図3(c)のSEQで閉じられているモジュール(関数)内部は個別指定領域になり、それ以外の領域が全指定領域になる。指定命令と実行命令と取得命令とは全指定領域と個別指定領域との何れかに記述される。
個別指定領域が対象とするシーケンサはシーケンサ定義により定義されたシーケンサになる。つまり、シーケンサ定義と個別指定領域とは同じSEQという識別子を用いており、シーケンサ定義で定義されたシーケンサがそのまま個別指定領域が対象とするシーケンサになる。前述したシーケンサ定義SEQ(1)の場合には、個別指定領域SEQ(1)はシーケンサ4−1および4−2を対象とする。
図1に戻って、情報記憶部6について説明する。情報記憶部6はシーケンサ情報記憶部14と全体情報記憶部15とを有している。図3(a)にシーケンサ情報記憶部14の構成を示し、図3(b)に全体情報記憶部15の構成を示している。
シーケンサ情報記憶部14は3つのデータを持つシーケンサ情報を記憶する記憶部である。シーケンサ情報はパターンプログラム名称「PATNAME」と指定シーケンサ情報「SEQ」と使用シーケンサ情報「PAT」との3つのデータを有して構成されており、パターンプログラムごとに1つのシーケンサ情報が構成される。このシーケンサ情報はパターンプログラムの指定命令が実行されたときに追加或いは削除がされる。
パターンプログラム名称はパターンプログラムの名称を示す。このパターンプログラム名称により何れのパターンプログラムが特定される。指定シーケンサ情報は当該パターンプログラムの指定命令が対象とするシーケンサ4の情報になる。全指定領域に記述された指定命令であれば全てのシーケンサ4の情報になり、個別指定領域に記述された指定命令であれば当該領域が対象とする一部のシーケンサ4の情報になる。
使用シーケンサ情報はパターンプログラムに基づくシーケンサの情報になる。図2(b)に示すように、パターンプログラム12はピン番号情報を有している。このピン番号情報はDUT1のピンの番号の情報であり、DUT1のピンとPEカード2とは1対1の関係で接続されるため、ピン番号情報に基づいてシーケンサ4が1つに特定される。例えば、図2(b)の「PIN 1234」であれば、DUT1のピン番号情報である「1234」からPEカード2−1〜2−4が特定される。このように、パターンプログラム12のピン番号情報により特定されるシーケンサ4の情報が使用シーケンサ情報になる。
全体情報記憶部15は5つの情報かなる全体情報を記憶する。この全体情報は、図3(b)に示すように、現指定シーケンサ情報「CRNTSEQ」と全指定シーケンサ情報「ALLSEQ」と全使用シーケンサ情報「ALLPAT」と実行済みシーケンサ情報「EXECPAT」と有効シーケンサ情報数「PATCOUNT」との5つの情報から構成される。なお、シーケンサ情報はパターンプログラムごとに記憶しているため複数になる場合があるが、全体情報は1つのみが記憶される。
現指定シーケンサ情報は現在実行している命令が対象とするシーケンサ4の情報になる。指定命令と実行命令と取得命令とは全指定領域と個別指定領域とに記述されており、各命令は記述されている領域によって対象とするシーケンサ4が異なる。現指定シーケンサ情報は実行している命令の領域が対象としているシーケンサ4の情報になる。
全指定シーケンサ情報はシーケンサ情報記憶部14に記憶されている全てのシーケンサ情報の指定シーケンサ情報の和の情報になる。前述したように、シーケンサ情報はパターンプログラムごとに設けられていることから、複数のシーケンサ情報がシーケンサ情報記憶部14に記憶されることがある。例えば、指定シーケンサ情報がシーケンサ4−1および4−2であるシーケンサ情報とシーケンサ4−3および4−4であるシーケンサ情報との2つがシーケンサ情報記憶部14に記憶されている場合は、全指定シーケンサ情報はシーケンサ4−1〜4−4のデータを持つ。
全使用シーケンサ情報はシーケンサ情報記憶部14に記憶されている全てのシーケンサ情報の使用シーケンサの和の情報になる。全指定シーケンサ情報と異なるのは、指定シーケンサ情報の和になるのか、使用シーケンサ情報の和になるのかという点である。
実行済みシーケンサ情報は実行命令を実行したときに更新され、当該実行命令が対象とするシーケンサ4の情報を記憶している。有効シーケンサ情報数はシーケンサ情報記憶部14のシーケンサ情報の個数を記憶している。シーケンサ情報が追加されることにより有効シーケンサ情報数はインクリメントされ、削除されることによりデクリメントがされる。
シーケンサ制御部7はプログラム記憶部5のテストプログラムの内容を実行して、シーケンサ4−1〜4−Nの動作制御を行う。また、シーケンサ制御部7は情報記憶部6の参照も行う。情報制御部8はシーケンサ制御部7の要求に基づいて、シーケンサ情報記憶部14或いは全体情報記憶部15の内容を参照して後述するシーケンサの整合性チェックを行い、これらの情報の内容を更新する。
図1で示した機能ブロック図のハードウェアブロック図を図4に示す。各PEカード2はそれぞれCPU21−1〜21−N(総称してCPU21とする)とメモリ22−1〜22−N(総称してメモリ22とする)とシーケンサ4(4−1〜4−N)とを備えており、CPU21はテスタコントローラ3からの指令に基づいてシーケンサ4の動作制御を行う。メモリ22は指令の内容を一時的に記憶する等のために設けている。
テスタコントローラ3はCPU23と補助記憶装置24とメモリ25とバスコントローラ26とを備えている。CPU23はテスタコントローラ3の全体の動作制御を行うものであり、シーケンサ制御部7および情報制御部8としての機能を果たす。補助記憶装置24は、デバイス定義ファイル11とパターンプログラム12とメインプログラム13とを有するテストプログラムを記憶する記憶装置である。
メモリ25は補助記憶装置24から読み出した各種プログラムを一時的に記憶しており、CPU23はメモリ25に読み出されたプログラムを実行する。そして、メモリ25は情報記憶部6として機能するものであり、シーケンサ情報および全体情報を記憶し、CPU23によりその内容が更新される。
バスコントローラ26は各PEカード2−1〜2−Nと接続されるバスBの制御を行っており、シーケンサ制御部7として機能するCPU23により各PEカード2−1〜2−Nに対して制御内容が転送される。
図5はテスタコントローラ3とPEカード2−1〜2−Nとの対応関係の一例を示しており、この図に示すように、テスタコントローラ3は多数のPEカード2とバスBにより接続されている。そして、各PEカード2にはそれぞれシーケンサ4を搭載しており、それぞれのPEカード2から異なるパターンデータをDUT1に対して入力することができるようになっている。
図2(c)に戻って、メインプログラム13について説明する。この図に示すように、パターンAのパターンプログラムの指定命令と実行命令と取得命令とは全指定領域に記述した構成となっており、パターンBのパターンプログラムの指定命令と実行命令と取得命令とは個別指定領域SEQ(1)に記述した構成となっている。従って、パターンAのパターンプログラムについては全てのシーケンサ4を対象として指定命令と実行命令と取得命令とが実行され、パターンBのパターンプログラムについては一部のシーケンサ4(4−1および4−2)を対象として指定命令と実行命令と取得命令とが実行される。
この例で示すように、全指定領域と個別指定領域に領域を分けて、領域ごとに対象とするシーケンサ4を特定し、各命令を記述した構成としている。これにより、命令ごとにシーケンサ4を指定する必要がなくなり、単に所定の領域に命令を記述した構成とすることで、自動的に対象となるシーケンサ4が特定される。
複数のシーケンサ4を搭載し、各シーケンサ4で異なるパターンデータを入力して試験を行うような場合には、シーケンサ4ごとに何れのパターンデータを生成して入力するのかを特定しなければならない。パターンデータはパターンプログラムに基づくものであり、従ってパターンプログラムごとに何れのシーケンサ4を対象とするのかを特定しなければならなくなる。図5に示すように、シーケンサ4の個数は多数あることから、パターンプログラムの指定命令と実行命令と取得命令とについてシーケンサ4を特定する場合には、メインプログラム13の記述量が著しく膨大且つ複雑になる。
この点、本発明では、全指定領域と個別指定領域とで領域ごとに対象とするシーケンサ4を特定し、領域内部に指定命令と実行命令と取得命令とを記述した構成とすることで自動的に各命令のシーケンサ4が特定できる。これにより、メインプログラム13の構成を非常に単純化することができ、記述量を大幅に削減できる。このため、記述性が大幅に向上し、記述ミスが非常に少なくなる。
また、従来はシーケンサ4を1台のみ搭載するものが主流になっており、この場合のメインプログラムは指定命令と実行命令と取得命令とを単純に繰り返す構成となっていた。従って、この種のメインプログラムに慣れているユーザにとっては、命令ごとにシーケンサ4を指定した構成でメインプログラムを記述することは非常に記述性が悪いものになる。この点、本発明では、命令ごとにシーケンサ4の指定を行っておらず、従来の形式と非常に近い感覚でメインプログラムの記述を行うことができる。この点においても記述性が大幅に向上する。
図6には図2(c)とは異なる6種類のメインプログラムを示している。図6において、シーケンサ定義SEQ(1)はシーケンサ4−1および4−2を定義しており、シーケンサ定義SEQ(2)はシーケンサ4−3および4−4を定義しているものとして説明する。
図6(a)はパターンAとパターンBとのパターンプログラムの指定命令をそれぞれ個別指定領域SEQ(1)とSEQ(2)とにそれぞれ記述し、実行命令は全指定領域に記述し、取得命令は個別指定領域SEQ(1)とSEQ(2)とに記述している。これにより、パターンAのパターンプログラムがシーケンサ4−1および4−2で指定され、パターンBのパターンプログラムがシーケンサ4−3および4−4で指定される。
そして、実行命令は一括して全指定領域、つまり全てのシーケンサ4−1〜4−Nを対象として行なう。このとき、シーケンサ4−1〜4−4にはパターンプログラムが指定されているが、シーケンサ4−5〜4−Nにはパターンプログラムが指定されていないため、シーケンサ4−1〜4−4のみが実行命令の対象となる。
また、取得命令はそれぞれ個別指定領域SEQ(1)とSEQ(2)とになっているため、シーケンサ4−1および4−2から試験結果が取得され、シーケンサ4−3および4−4からも試験結果が取得される。
ここで、試験結果はパスフェイル情報であり、基本的にはパスまたはフェイルの二値データで表現される。例えば、パスは「0」、フェイルは「1」等である。このとき、全体としてフェイルがあるか否かの情報を最終的に求めるような場合には、取得命令により取得された試験結果をマージすることができる。
このマージとしては、全ての試験結果に対して論理和の処理を施すことにより得ることができる。例えば、パスを「0」、フェイルを「1」とするような場合には、論理和を取ることで、全てパスであれば「0」、1つでもフェイルがあれば「1」とするような1ビットの情報として取得できる。勿論、試験結果を個別的に取得する場合には、マージをしなくてもよい。
図6(b)は取得命令を一括して行う場合であり、図6(c)は実行命令と取得命令とを一括して行う場合である。このように、実行命令と取得命令とのうち何れか一方または両方を全指定領域に記述した構成とすることで、さらに記述量を削減することができるようになる。
ここで、指定命令と実行命令と取得命令との間で対象とするシーケンサ4は全て一致させなければならない。3つの命令の何れか1つでも対象とするシーケンサ4が異なる場合は、動作が不正確になる。例えば、指定命令と実行命令とが異なるシーケンサ4を対象としている場合、本来なら実行してはならないシーケンサ4が動作し、また実行すべきシーケンサ4が動作しないことになる。これはシーケンサの不整合を生じている状態になる。
ここで、シーケンサ4を動作させる場合、指定命令、実行命令、取得命令の順番で命令が実行され、つまり必ず指定命令が実行される。従って、指定命令を基準として実行命令との間、或いは指定命令および実行命令を基準として取得命令との間でシーケンサの不整合を起こさないようにしなければならない。換言すれば、シーケンサの不整合を生じている場合には、エラーとして処理を行い、試験結果を破棄するようにしなければならない。
図6(d)〜(f)はシーケンサの不整合を起こしている例を示している。同図(d)はパターンAのパターンプログラムの指定命令は全指定領域に記述されているため、全てのシーケンサ4を対象としているが、実行命令は個別指定領域SEQ(1)に記述されているため、一部のシーケンサ4−1および4−2のみが対象となる。従って、シーケンサの不整合を起こしている。
図6(e)は異なる個別指定領域SEQ(1)とSEQ(2)とにそれぞれ指定命令および実行命令と取得命令とを記述した構成としているため、指定命令と実行命令との間でシーケンサは整合しているものの、取得命令との間でシーケンサの不整合を起こしている。
図6(f)はパターンAのパターンプログラムの指定命令は全指定領域に記述されており、その後のパターンBのパターンプログラムの指定命令は個別指定領域SEQ(1)に記述した構成となっている。このときには、個別指定領域SEQ(1)により特定されるシーケンサ4−1および4−2にはパターンBのパターンプログラムが指定され、それ以外のシーケンサにはパターンAのパターンプログラムが指定された状態になる。
この状態で、全指定領域に記述されている実行命令(2番目の実行命令)を実行すると、パターンBのパターンプログラムだけではなく、パターンAのパターンプログラムまでもが実行されることになる。つまり、予期しないパターンAのパターンプログラムが実行されることになる。これは、パターンBのパターンプログラムの指定命令と実行命令との間でシーケンサの不整合を起こしているためである。なお、この場合には、同様に取得命令との間でもシーケンサの不整合を起こしている。
以上のように、シーケンサの不整合を起こすのは、個別指定領域と全指定領域とに領域を分けて、それぞれの領域で個別的にシーケンサ4を指定するようにしたためである。個別指定領域と全指定領域とで領域を分けて命令を記述することで、メインプログラム13の構成が大幅に削減でき、単純化できるが、以上のようなシーケンサの不整合を起こす可能性がある。そこで、図1の構成を用いてシーケンサの不整合の解消を図りつつ、DUT1の試験を行う処理の流れについて説明する。
まず、シーケンサ制御部7はプログラム記憶部5からデバイス定義ファイル11を読み出し、シーケンサ定義を認識する。次に、メインプログラム13を読み出して、先頭から順番に命令の実行を行っていく。以下において、指定命令と実行命令と取得命令とでそれぞれ異なる動作を行うため、各命令で分けて説明する。
図7はシーケンサ制御部7が指定命令を実行したときに行う処理のフローチャートを示している。メインプログラム13には多数の指定命令が存在しており、実行済みの指定命令と新たに実行する指定命令とが同じシーケンサ4を対象とすることがある。この場合に、以前に実行した指定命令の情報をそのまま残しておくと、本来実行されるべきでない実行済みの指定命令が再度実行されることになる。これにより、図6(f)の例で説明したようなシーケンサの不整合が生じる。このため、実行済みの指定命令と新たに実行する指定命令との間でシーケンサ4が重複している場合には、実行済みの指定命令のシーケンサ4を無効化し、新たに実行する指定命令のシーケンサ4を有効化する。このとき、有効化および無効化されるシーケンサ4の情報はシーケンサ情報記憶部14に記憶されるシーケンサ情報になる。
ここで、実行済みの指定命令と新たに実行する指定命令との間でシーケンサ4が重複していない場合には、両者とも有効にすることができる。例えば、図6(a)のように、パターンAとパターンBとのパターンプログラムの指定命令をそれぞれ異なる個別指定領域に記述しておき、後に一括して実行命令を実行するときには、2つの指定命令を有効にする。
具体的な処理について説明する。シーケンサ制御部7が指定命令を実行するときには、情報制御部8が指定命令の内容をシーケンサ制御部7から取得する。なお、機能的には、シーケンサ制御部7と情報制御部8とを分けているが、両者ともCPU23により実現されるため、実際にデータの授受を行っているわけではない。
情報制御部8は全体情報記憶部15の現指定シーケンサ情報と全指定シーケンサ情報との間で重複したシーケンサがあるか否かを確認する(ステップS1)。全指定シーケンサ情報と現指定シーケンサ情報との間で重複したシーケンサがなければ、実行済みの指定命令のシーケンサ4と新たに実行する指定命令のシーケンサ4とが重複しない。従って、無効化する処理は不要になる。一方、重複しているのであれば、実行済みの指定命令のシーケンサ情報を無効にし、新たに実行する指定命令のシーケンサ情報を有効にする。
このとき、情報制御部8は現指定シーケンサ情報と全指定シーケンサ情報との間で重複しているシーケンサの情報を重複シーケンサ情報「OVERLAP」として全体情報記憶部15に一時的に記憶させる。そして、この重複シーケンサ情報がない場合(NULLデータの場合)には、ステップS1の判定で重複していないと判定して、ステップS8に進む。一方、重複シーケンサ情報がある場合(NULLデータではない場合)には、次のステップに進む。
情報制御部8は、次にステップS2〜S7のシーケンサ無効化ループの処理を行う。このシーケンサ無効化ループは、実行済みの指定命令のシーケンサ情報を無効化する処理であり、シーケンサ情報記憶部14に記憶されているシーケンサ情報を1つずつ取り出して、全てのシーケンサ情報に対して行う。
情報制御部8はシーケンサ情報記憶部14から1つのシーケンサ情報を取り出して、当該シーケンサ情報の指定シーケンサ情報と重複シーケンサ情報との間でシーケンサ4が重複しているか否かを判定する(ステップS3)。この判定で重複していないと判定した場合には、取り出したシーケンサ情報についてはシーケンサ4が重複しておらず、シーケンサの不整合を生じていない。このため、情報制御部8はステップS7に進み、次のシーケンサ情報のチェックを行う。
一方、重複していると判定した場合には、取り出したシーケンサ情報はシーケンサの不整合を生じていることになる。シーケンサ情報は実行済みの指定命令のシーケンサ4の情報を指定シーケンサ情報として有しているものであり、このシーケンサ情報の指定シーケンサ情報が重複しているのであれば、当該シーケンサ情報を削除して無効にしなければならない。このため、情報制御部8はこのシーケンサ情報に関するデータを情報記憶部6から完全に削除する。削除対象のシーケンサ情報に関するデータはシーケンサ情報記憶部14と全体情報記憶部15との両者にあり、両者からデータの削除を行う。
まず、情報制御部8はシーケンサ情報記憶部14からシーケンサ情報の削除を行う(ステップS4)。削除を行うのは、取り出したシーケンサ情報であり、このシーケンサ情報は完全に削除される。次に、情報制御部8は全体情報記憶部15から取り出したシーケンサ情報に関するデータを削除する(ステップS5)。
全体情報記憶部15の各データのうち全指定シーケンサ情報と全使用シーケンサ情報と実行済みシーケンサ情報との3つの情報がシーケンサ情報に関係する情報を記憶している。そこで、これら3つの情報からデータを削除する。
例えば、取り出したシーケンサ情報の指定シーケンサ情報がシーケンサ4−1および4−2であれば、全指定シーケンサ情報からシーケンサ4−1および4−2を削除する。同様に、全使用シーケンサ情報からも削除を行う。なお、実行済みシーケンサ情報は実行済みのシーケンサ4に関する情報であるが、実行命令の基礎となる指定命令の指定シーケンサ情報が削除されることにより、対応する実行済みシーケンサ情報も削除される。
そして、情報制御部8は全体情報記憶部15の有効シーケンサ情報数をデクリメントする(ステップS6)。取り出したシーケンサ情報を削除したため、シーケンサ情報記憶部14からシーケンサ情報が1つ減少しているためである。
以上のステップS3〜S6の処理をシーケンサ情報記憶部14に記憶されている全てのシーケンサ情報について行い、全てのシーケンサ情報のチェックが終了したときにシーケンサ無効化ループを終了する(ステップS7)。なお、ステップS4〜S6は何れの順番で行うものであってもよい。
シーケンサ無効化ループの処理により、実行済みの指定命令と新たに実行する指定命令との間でシーケンサに不整合を生じているときには、実行済みの指定命令のシーケンサ情報が無効化される。これにより、シーケンサの不整合が解消される。そして、新たに実行される指定命令を有効にするために、情報制御部8はシーケンサ情報記憶部14に新たなシーケンサ情報の追加更新を行う(ステップS8)。
このために、パターンプログラムの名称をパターンプログラム名称として、指定命令が記述されている領域が対象としているシーケンサ4(つまり、現指定シーケンサ情報のシーケンサ4)の情報を指定シーケンサ情報として、パターンプログラムの使用ピン情報に基づくシーケンサ4の情報を使用シーケンサ情報として新たに追加更新を行う。
そして、全体情報記憶部15の追加更新を行う(ステップS9)。更新されるのは、全指定シーケンサ情報と全使用シーケンサ情報と有効シーケンサ情報数との3つである。全指定シーケンサ情報と全使用シーケンサ情報とにはそれぞれ追加対象となるシーケンサ情報の指定シーケンサ情報と使用シーケンサ情報とが更新され、有効シーケンサ情報数はインクリメントがなされる。なお、ステップS8とS9との順番は問わない。
ここで、図7のフローチャートにおいて、処理すべきステップはS2〜S9になる。つまり、シーケンサ情報の無効化および有効化の処理はステップS2〜S9になり、ステップS1は重複したシーケンサ4が存在しない場合にシーケンサ無効化ループを省略するものになる。従って、ステップS1の処理はあくまでも不要な処理を省略して処理の迅速化を図るものであり、ステップS1を設けないものであってもよい。
以上の処理が指定命令を実行したときの処理である。この処理により指定命令の間でのシーケンサの不整合は解消される。当該処理を終了した後に、情報制御部8はシーケンサ制御部7にその旨を通知し、シーケンサ制御部7は次の命令の実行を行う。
図8乃至図10を参照して、実行命令を行うときの処理を説明する。シーケンサ制御部7がメインプログラム13に記述されている実行命令を実行するときに、情報制御部8は実行命令の内容を取得する。そして、情報制御部8はシーケンサ制御部7が実行命令を実行する前に、予めシーケンサ4の不整合の確認を行う。これが整合性チェック処理になる。この処理を図8および図9に示す。なお、整合性チェック処理は後述する取得命令においても行われる。
図8において、情報制御部8は、以前に指定命令が実行されたことがあるか否かを判定する(ステップS11)。実行命令は指定命令が実行されたことが前提である。つまり、実行命令は指定命令により指定されるパターンプログラムを実行する命令であり、1つも指定命令が実行されていないのであれば、パターンプログラムの実行を行い得ない。
指定命令が実行されたか否かは全体情報記憶部15の全指定シーケンサ情報を参照することにより認識される。この全指定シーケンサ情報に何らのシーケンサ4の情報が記憶されていなければ、実行命令の対象となるシーケンサ4が存在していないことになる。そこで、情報制御部8は、全体情報記憶部15の全指定シーケンサ情報を参照して、シーケンサ4のデータがあるか否か(つまり、NULLデータになっているか否か)を確認する。
データがないと判定した場合には、実行命令が対象とするシーケンサ4が存在しないため、エラー処理を行って(ステップS20)、全ての処理を終了する。一方、データがあると判定した場合には、情報制御部8は実行命令が全てのシーケンサ4を対象としているか否かを判定する(ステップS12)。
実行命令が全てのシーケンサ4を対象としている場合には、指定命令を実行したシーケンサ4は必ず含まれており、当該シーケンサ4は必ず実行される。しかも、前述したように指定命令の間でのシーケンサの不整合は解消されているため、実行命令が全てのシーケンサ4を対象としていれば、シーケンサの不整合を生じることはない。この場合には、情報制御部8はシーケンサが整合していると認識する(ステップS21)。
このために、情報制御部8は全体情報記憶部15の現指定シーケンサ情報を参照し、この現指定シーケンサ情報が全てのシーケンサ4の情報を有しているかを判定する。全てのシーケンサ4の情報を有している場合には、シーケンサは整合していると認識して、ステップS21に進み、そうでない場合には、次のステップに進む。
次に、情報制御部8は全体情報記憶部15の現指定シーケンサ情報と全指定シーケンサ情報とを比較して、シーケンサ4の情報が一致しているか否かを判定する(ステップS13)。全指定シーケンサ情報は実行された指定シーケンサ情報の和になっていることから、現指定シーケンサ情報と全指定シーケンサ情報とが一致していれば、この時点で指定命令と実行命令との間でシーケンサが整合していることが認識できる。そこで、情報制御部8は2つの情報を比較して、一致していればシーケンサの整合を認識ステップS21に進み、一致していなければ次のステップに進む。
次に、情報制御部8は全体情報記憶部15の現指定シーケンサ情報と全指定シーケンサ情報とを参照して、現指定シーケンサ情報のシーケンサ4と全指定シーケンサ情報で指定していないシーケンサ4とが重複しているか否かを判定する(ステップS14)。全指定シーケンサ情報で指定しないシーケンサ4はシーケンサ情報記憶部14のシーケンサ情報が何れも指定していないシーケンサになる。この場合は、指定されていないシーケンサ4を実行することになるため、シーケンサの不整合が生じていることが認識される。このため、重複していないと判定したときには、不整合が生じているものとしてエラー処理を行い(ステップS20)、重複していない場合は、次のステップに進む。
ステップS15〜S19はシーケンサ情報チェックループになる。このシーケンサ情報チェックループにおいて、情報制御部8はシーケンサ情報記憶部14の全てのシーケンサ情報を1つずつチェックしていく。そして、全てのシーケンサ情報のチェックが終了したときに、シーケンサ情報チェックループが終了する。
シーケンサ情報チェックループの処理について説明する。最初に、情報制御部8はチェック対象シーケンサ情報「CHECK」の生成を行う(ステップS16)。情報制御部8は、シーケンサ情報記憶部14から1つのシーケンサ情報を取り出して、当該シーケンサ情報の指定シーケンサ情報と現指定シーケンサ情報とで重複しているシーケンサ4をチェック対象シーケンサ情報として生成する。なお、このチェック対象シーケンサ情報は一時的に全体情報記憶部15に記憶される。
次に、情報制御部8は、チェック対象シーケンサが存在するか否かを判定する(ステップS17)。チェック対象シーケンサが存在しない場合(つまり、チェック対象シーケンサ情報がNULLデータの場合)には、シーケンサ情報記憶部14から取り出したシーケンサ情報は実行命令の対象とはならないため、次のシーケンサ情報のチェックを行うべくステップS19に進む。
一方、チェック対象シーケンサが存在する場合には、チェック対象シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報とが一致しているか否かを情報制御部8が判定する(ステップS18)。チェック対象シーケンサ情報のシーケンサと指定シーケンサ情報とはそれぞれ複数のシーケンサ4を有している場合があり、その全部が一致しない場合もある。全部が一致しない場合には、実行していない指定命令を実行することになるため、シーケンサの不整合を起こしていることが分かる。
この場合には、情報制御部8はエラー処理(ステップS20)を行って、処理を終了する。一方、全部が一致する場合には、シーケンサが整合していることが分かるため、次のシーケンサ情報のチェックを行うため、ステップS19に進む。以上のシーケンサ情報チェックループを全てのシーケンサ情報について行う。
シーケンサ情報チェックループにおいてステップS20のエラー処理が行われなければ、シーケンサは整合していることになる。つまり、全てのシーケンサ情報についてシーケンサ情報チェックループの処理が終了したときには、シーケンサが整合していることが認識される(ステップS21)。情報制御部8はシーケンサが整合している旨をシーケンサ制御部7に通知し、この通知に基づいてシーケンサ制御部7は実行命令を実行する。
ところで、図8のフローチャートの例では、ステップS11〜S14の条件分岐によりシーケンサの整合または不整合を認識している。これは、全体情報記憶部15の全体情報に基づいて、即時にシーケンサの整合または不整合の判断ができるためである。この場合には、シーケンサ情報チェックループの処理を省略できる。これにより、不要な処理を省略して、処理の迅速化を図っている。ただし、ステップS11〜S14の処理を行わずに、シーケンサ情報記憶部14のみに基づいて、シーケンサの整合性をチェックすることもできる。図9を用いて、シーケンサ情報記憶部14のみを用いてシーケンサの整合性のチェックを行う場合について説明する。
最初に、情報制御部8は現指定シーケンサ情報を参照して実行命令が全てのシーケンサ4を対象としているか否かを判定する(ステップS31)。この判定処理は図9のステップS12と同じ処理になる。次に、現指定シーケンサ情報を一時的に別のデータにコピーして保存する(ステップS32)。この保存したデータをテンポラリ情報「TEMP」として全体情報記憶部15に一時的に記憶する。
そして、情報制御部8はステップS33〜S38のシーケンサ情報チェックループの処理を行う。前述したように、シーケンサ情報記憶部14から1つずつシーケンサ情報を取り出して、全てのシーケンサ情報についてチェックを行う。
まず、情報制御部8は、チェック対象シーケンサ情報を生成する(ステップS34)。この処理は図7のステップS16と同じ処理であり、取り出したシーケンサ情報の指定シーケンサ情報と現指定シーケンサ情報とで重複しているシーケンサ4の情報がチェック対象シーケンサ情報になる。
そして、情報制御部8はチェック対象シーケンサ情報が存在するか否かを判定し(ステップS35)、存在しない場合には、次のシーケンサ情報を取り出すべくステップS38に進む。一方、存在する場合には、情報制御部8はチェック対象シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報とが一致しているか否かを判定する(ステップS36)。この判定処理は図8のステップS18と同じである。
情報制御部8はステップS36において一致していないと判定した場合には、エラー処理(ステップS40)を行って、処理を終了する。一方、一致していると判定した場合には、テンポラリ情報の更新を行う(ステップS38)。ここでは、テンポラリ情報からチェック対象シーケンサ情報を削除する更新を行う。これにより、現指定シーケンサのうちチェックを行ったシーケンサ4をテンポラリ情報から除外できる。
以上の処理をシーケンサ情報記憶部14に記憶されている全てのシーケンサ情報について行う。そして、情報制御部8は、シーケンサ情報チェックループが終了したときにテンポラリ情報が残存しているか否かを判定する(ステップS39)。ステップS37により整合しているシーケンサ4の情報は削除されており、シーケンサ情報チェックループが終了したときにはテンポラリ情報から全てのシーケンサ4の情報は削除されていなければならない(つまり、NULLデータになっていなければならない)。このときに、テンポラリ情報がNULLデータになっていなければ、指定命令が実行されていないシーケンサ4に対して実行命令を実行することになる。従って、この場合には、シーケンサが不整合になるため、エラー処理(ステップS40)を行って、処理を終了する。
一方、ステップS39において、残存していないと判定されれば、シーケンサが整合していることが認識される(ステップS41)。以上のようにして、シーケンサ情報記憶部14のシーケンサ情報のみによってチェックを行うこともできる。
次に、図10を用いて、実行命令の処理について説明する。実行命令を行うときには、情報制御部8により前述した図8または図9のシーケンサの整合性チェックを行う(ステップS51)。チェックの結果、整合していないと判定した場合には、エラー処理(ステップS55)を行って処理を終了する。なお、このステップS55のエラー処理は図8で説明したステップS20および図9で説明したステップS40のエラー処理に該当する。
一方、整合していると情報制御部8が判定した場合には、情報制御部8は全体情報記憶部15の実行済みシーケンサ情報に対して現指定シーケンサ情報のシーケンサを追加する更新を行う(ステップS53)。これにより、新しく実行を行うシーケンサの情報が実行済みシーケンサ情報として記憶される。
次に、情報制御部8はシーケンサ制御部7に対して整合している旨の通知を行い、シーケンサ制御部7は実行命令の実行を行う(ステップS54)。このとき、シーケンサ制御部7は情報記憶部6のシーケンサ情報記憶部14を参照して実行するシーケンサ4を特定する。
シーケンサ情報記憶部14には1または複数のシーケンサ情報が記憶されており、各シーケンサ情報はパターンプログラムが指定されたシーケンサの情報になっている。しかも、前述した各処理によりシーケンサの不整合が生じていない状態になっているため、各シーケンサ情報の内容を実行することにより、指定命令が実行されたシーケンサ4に対して実行命令を行うことができる。
シーケンサ情報はパターンプログラムごとに指定シーケンサ情報と使用シーケンサ情報とを有しており、このうち使用シーケンサ情報に基づいてシーケンサ制御部7は実行するシーケンサ4を特定する。指定シーケンサ情報はメインプログラム13にユーザが記述した内容に基づくシーケンサ4の情報であり、使用シーケンサ情報は使用ピン情報に基づくシーケンサ4の情報であるため、基本的には指定シーケンサ情報と使用シーケンサ情報とは同じ情報(つまり、同じシーケンサ4の情報)になる。
しかし、指定シーケンサ情報と使用シーケンサ情報とが一致しない場合もある。この場合には、使用シーケンサ情報により特定されるシーケンサ4を実行させるようにシーケンサ制御部7が制御する。使用シーケンサ情報は実際の使用ピン情報に基づく情報であり、当該情報が実際に動作するシーケンサ4の情報になるため、使用シーケンサ情報に基づいてシーケンサ4を特定する。
従って、シーケンサ制御部7は実行命令を行うときには、シーケンサ情報記憶部14の使用シーケンサ情報に基づいて、シーケンサ4の動作制御を行う。使用シーケンサ情報に対してはパターンプログラムが特定されるため、シーケンサ制御部7は当該パターンプログラムの内容を対象となるシーケンサ4に出力する。そして、シーケンサ4はパターンプログラムの内容に基づいてパターンデータを生成して試験を行う。これにより、実行命令が実行されたことになる。
次に、取得命令を実行するときの処理について図11を用いて説明する。シーケンサ制御部7がメインプログラム13を読み込んで取得命令を実行するときに、情報制御部8はシーケンサ制御部7から取得命令の内容を取得する。そして、最初にシーケンサが整合しているか否かのチェックを行う(ステップS61)。このチェック処理は実行命令のときと同じであり、図8または図9で示した一連の処理になる。
情報制御部8がシーケンサの不整合と判定したときにはエラー処理を行い(ステップS70)、整合していると判定した場合には次のステップに進む。
次に、情報制御部8は実行しようとしている取得命令が全てのシーケンサ4を対象としているか否かを判定する(ステップS63)。この判定を行うために、情報制御部8は全体情報記憶部15の現指定シーケンサ情報が全てのシーケンサ4を対象としているか否かを判定し、全てのシーケンサ4を対象としていると判定した場合には、実行済みのシーケンサ4が存在しているか否かの判定を行う(ステップS64)。
実行済みのシーケンサ4が存在しているか否かについては、情報制御部8が全体情報記憶部15の実行済みシーケンサ情報のデータがあるか否か(NULLデータになっているか否か)に基づいて判断する。データがないと判定した場合(NULLデータになっている場合)には、実行していないシーケンサ4から試験結果の取得を行おうとしているため、エラー処理(ステップS71)を行って、処理を終了する。なお、このステップS71のエラー処理は、処理を終了するという点でステップS70と同じである。一方、データがあると判定した場合(NULLデータになっていない場合)には、次の試験結果取得ループに進む。
ステップS63において、情報制御部8が全てのシーケンサ4を対象としていないと判定した場合には、実行しようとしている取得命令が実行命令を実行していないシーケンサ4を対象としているか否かを判定する(ステップS65)。このために、情報制御部8は現指定シーケンサ情報のシーケンサ4と実行済みシーケンサ情報のシーケンサ以外のシーケンサ4とが重複しているか否かを判定する。
重複している場合には、実行していないシーケンサ4から試験結果を取得しようとしているため、エラー処理(ステップS70)を行って、処理を終了する。一方、重複していない場合、つまり実行済みのシーケンサ4から試験結果を取得しようとしている場合には、次のステップに進む。
ステップS64で実行済みシーケンサが存在していると判定した場合、およびステップS65でシーケンサが重複していると判定した場合には、ステップS66〜S69の試験結果取得ループの処理を行う。この試験結果取得ループの処理はシーケンサ情報記憶部14の全てのシーケンサ情報に対して1つずつ行う。
最初に、取り出したシーケンサ情報が取得命令の対象となるシーケンサ4となっているか否かについて判定する(ステップS67)。このために、情報制御部8は現指定シーケンサ情報と取り出したシーケンサ情報の指定シーケンサ情報との間で重複しているシーケンサ4があるか否かで判断を行う。重複しているシーケンサ4がないと判断した場合には、このシーケンサ情報からは試験結果の取得は行われないため、次のシーケンサ情報のチェックを行うべく、ステップS69に進む。
一方、重複しているシーケンサ4があると判定した場合には、情報制御部8はシーケンサ制御部7に対してその旨の通知を出し、シーケンサ制御部7は取得命令を実行して、試験結果の取得を行う(ステップS68)。
実行命令のときと同様に、取得命令の場合も、シーケンサ制御部7はシーケンサ情報記憶部14のシーケンサ情報を参照して取得命令を行う。シーケンサ制御部7はシーケンサ情報のうち使用シーケンサ情報を参照して、この使用シーケンサ情報により特定されるシーケンサ4から試験結果の取得を行う。これにより、実際に動作したシーケンサ4から試験結果の取得を行うことができる。
以上の取得動作を全てのシーケンサ情報に対して行った後に、試験結果をマージする(ステップS72)。マージについては既に述べたとおりであり、取得命令を実行したシーケンサ4から取得したパスフェイル情報の論理和或いは論理積をとることにより、1ビットのデータとして結果取得を行い得る。なお、各シーケンサ4から個別的に試験結果を取得する場合には、ステップS72のマージを行う必要はない。これにより、取得動作が完了する。
シーケンサ制御部7および情報制御部8は、メインプログラム13に多数記述されている指定命令、実行命令、取得命令を以上のような処理を繰り返すことで処理を行っていく。メインプログラム13の全ての命令を実行したときに、全ての処理を終了する。
1 DUT 2 PEカード
3 テスタコントローラ 4 シーケンサ
5 プログラム記憶部 6 情報記憶部
7 シーケンサ制御部 8 情報制御部
11 デバイス定義ファイル 12 パターンプログラム
13 メインプログラム 14 シーケンサ情報記憶部
15 全体情報記憶部
3 テスタコントローラ 4 シーケンサ
5 プログラム記憶部 6 情報記憶部
7 シーケンサ制御部 8 情報制御部
11 デバイス定義ファイル 12 パターンプログラム
13 メインプログラム 14 シーケンサ情報記憶部
15 全体情報記憶部
Claims (11)
- 被試験デバイスに対して入力するパターンデータを生成するシーケンサを複数備えた半導体試験装置であって、
全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを記憶するプログラム記憶部と、
前記全指定領域に記述した命令を実行するときには前記全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象として動作制御を行うシーケンサ制御部と、
を備えたことを特徴とする半導体試験装置。 - 前記パターンデータの内容を記述したパターンプログラムを指定する指定命令が実行されたときに更新され、前記指定命令が対象とするシーケンサの情報を指定シーケンサ情報として前記パターンプログラムごとに有するシーケンサ情報を記憶するシーケンサ情報記憶部と、
前記シーケンサ情報記憶部に記憶されているシーケンサ情報の指定シーケンサ情報と新たに実行する指定命令とで対象とするシーケンサが重複している場合には、既に記憶されているシーケンサ情報を削除し、新たに実行する指定命令のシーケンサの情報をシーケンサ情報として追加する制御を行うシーケンサ情報制御部と、
をさらに備えたことを特徴とする請求項1記載の半導体試験装置。 - 前記シーケンサ情報制御部は、指定したシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと前記シーケンサ情報の指定シーケンサ情報が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定すること
を特徴とする請求項2記載の半導体試験装置。 - 前記実行命令が実行されたシーケンサの情報を実行済みシーケンサ情報として記憶する全体情報記憶部をさらに備え、
前記シーケンサ制御部は、前記指定シーケンサ情報および前記実行済みシーケンサ情報を参照して、前記指定命令が対象としているシーケンサおよび前記実行命令が対象としているシーケンサと試験結果を取得する取得命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定すること
を特徴とする請求項3記載の半導体試験装置。 - 前記シーケンサ情報は、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサの情報を使用シーケンサ情報として有しており、
前記シーケンサ制御部は、前記実行命令および前記取得命令を実行するときには、前記使用シーケンサ情報により特定されるシーケンサを対象として動作制御を行うこと
を特徴とする請求項4記載の半導体試験装置。 - 被試験デバイスに対してパターンデータを入力して試験を行うシーケンサをそれぞれ有する複数の試験部を用いて前記被試験デバイスの試験を行う半導体試験方法であって、
全てのシーケンサを対象とする全指定領域と一部のシーケンサを対象とする個別指定領域とに前記シーケンサの動作制御を行う命令を記述したメインプログラムを読み出すステップと、
前記全指定領域に記述した命令を実行するときには全てのシーケンサを対象とし、前記個別指定領域に記述した命令を実行するときには前記一部のシーケンサを対象としてシーケンサの動作制御を行うステップと、
を有することを特徴とする半導体試験方法。 - 前記シーケンサの動作制御を行うステップは、
前記命令のうち前記パターンデータの内容を記述したパターンプログラムを指定する指定命令を実行するときに、実行済みの指定命令と新たに実行する指定命令とでシーケンサが重複している場合には前記実行済みの指定命令が対象とするシーケンサの情報を削除して、新たに実行する指定命令のシーケンサの情報を追加するステップをさらに有すること
を特徴とする請求項6記載の半導体試験方法。 - 指定されたシーケンサにパターンプログラムを実行する実行命令が対象とするシーケンサと実行済みの指定命令が対象とするシーケンサとを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有すること
を特徴とする請求項7記載の半導体試験方法。 - 前記シーケンサから試験結果を取得する取得命令と前記指定命令との間で、および前記取得命令と前記実行命令との間で対象とするシーケンサを比較して、シーケンサの不整合を生じているか否かを判定するステップをさらに有すること
を特徴とする請求項8記載の半導体試験方法。 - 前記取得命令および前記実行命令を実行するときには、前記パターンプログラムに記述されている使用ピン情報により特定されるシーケンサに対して制御を行うこと
を特徴とする請求項9記載の半導体試験方法。 - コンピュータに、請求項6乃至10の何れか1項に記載の方法の各ステップを実行させるための半導体試験プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009153474A JP2011007721A (ja) | 2009-06-29 | 2009-06-29 | 半導体試験装置、半導体試験方法および半導体試験プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009153474A JP2011007721A (ja) | 2009-06-29 | 2009-06-29 | 半導体試験装置、半導体試験方法および半導体試験プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011007721A true JP2011007721A (ja) | 2011-01-13 |
Family
ID=43564553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009153474A Withdrawn JP2011007721A (ja) | 2009-06-29 | 2009-06-29 | 半導体試験装置、半導体試験方法および半導体試験プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011007721A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016012278A (ja) * | 2014-06-30 | 2016-01-21 | 富士通株式会社 | 情報処理システムの試験方法、情報処理システム、および試験プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063471A (ja) * | 2003-06-19 | 2005-03-10 | Advantest Corp | 半導体試験装置及びその制御方法 |
WO2008014827A1 (en) * | 2006-08-04 | 2008-02-07 | Verigy (Singapore) Pte. Ltd. | Test module with blocks of universal and specific resources |
JP2008096107A (ja) * | 2006-10-05 | 2008-04-24 | Yokogawa Electric Corp | 半導体試験装置 |
-
2009
- 2009-06-29 JP JP2009153474A patent/JP2011007721A/ja not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063471A (ja) * | 2003-06-19 | 2005-03-10 | Advantest Corp | 半導体試験装置及びその制御方法 |
WO2008014827A1 (en) * | 2006-08-04 | 2008-02-07 | Verigy (Singapore) Pte. Ltd. | Test module with blocks of universal and specific resources |
JP2008096107A (ja) * | 2006-10-05 | 2008-04-24 | Yokogawa Electric Corp | 半導体試験装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016012278A (ja) * | 2014-06-30 | 2016-01-21 | 富士通株式会社 | 情報処理システムの試験方法、情報処理システム、および試験プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Verma et al. | A comparative study of black box testing and white box testing | |
US8793656B2 (en) | Method and apparatus for regression testing selection for a framework-based application | |
CN107464148A (zh) | 一种基于联盟链的智能合约升级方法和系统 | |
US8694931B1 (en) | Systems and methods for super-threading of integrated circuit design programs | |
US10599805B2 (en) | Superconducting quantum circuits layout design verification | |
US20210103514A1 (en) | Reusable test cases for identifiable patterns | |
CN103377038B (zh) | 自定义表单的描述及表单解析方法 | |
US20150269049A1 (en) | Verification system and method for automated verification of register information for an electronic system | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
WO2018092237A1 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
JP2000207440A (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
CN104969083A (zh) | 用于动态扫描调度的系统和方法 | |
CN1983288A (zh) | 验证操作支持系统及其方法 | |
US11132286B1 (en) | Dynamic reordering of test case execution | |
JP2011007721A (ja) | 半導体試験装置、半導体試験方法および半導体試験プログラム | |
US10528689B1 (en) | Verification process for IJTAG based test pattern migration | |
US20190370151A1 (en) | Equivalence verification apparatus and computer readable medium | |
Ganguly et al. | PowerPC/sup (TM)/array verification methodology using formal techniques | |
JP2008305079A (ja) | 要求仕様自動検証方式 | |
US20150033213A1 (en) | Compiling method, storage medium and compiling apparatus | |
JP2004118553A (ja) | ワークフロー実行方法とシステム、およびそのためのプログラム | |
CN114791865A (zh) | 一种基于关系图的配置项自洽性检测方法、系统和介质 | |
US11520691B2 (en) | Test procedure systems and methods | |
US7299430B1 (en) | Reducing design execution run time bit stream size for device testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20130517 |