(57)【要約】【課題】動作速度を高速化できるシーケンス制御回路を用いた半導体試験装置を実現すること。【解決手段】プログラムに記述されたパターン発生命令のシーケンスを制御するシーケンス制御回路を備えた半導体試験装置において、前記シーケンス制御回路は、シーケンス制御命令の一部のデコードをテスト実行直前に行うことを特徴とするもの。  【選択図】                    図１
2010085177.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに記述されたパターン発生命令のシーケンスを制御するシーケンス制御回路を備えた半導体試験装置において、
前記シーケンス制御回路は、シーケンス制御命令の一部のデコードをテスト実行直前に行うことを特徴とする半導体試験装置。
【請求項２】
前記シーケンス制御命令の一部は、条件分岐命令を含むことを特徴とする請求項１記載の半導体試験装置。
【請求項３】
前記シーケンス制御回路は、
シーケンス制御命令を記憶するインストラクションメモリと、
このインストラクションメモリから入力されるシーケンス制御命令を解読して次のプログラムカウンタ信号を決定するプログラムカウンタ制御部と、
このプログラムカウンタ制御部のプログラムカウンタ信号を外部に出力するとともに前記インストラクションメモリに入力するフリップフロップと、
前記シーケンス制御命令の一部のデコードをテスト実行直前に行い、その変換出力を前記インストラクションメモリに入力する命令変換部、
とで構成されていることを特徴とする請求項１または２記載の半導体試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体試験装置に関し、詳しくは、パターン発生命令のシーケンス制御に関するものである。
【背景技術】
【０００２】
図５は、従来の半導体試験装置の構成例を示すブロック図である。図５において、プログラムに記述されたパターン発生命令のシーケンスを制御するシーケンス制御回路１００と、パターン発生命令を記憶するインストラクションメモリ２００と、加減算などの演算が可能なパターン発生回路３００と、被試験ＩＣ５００の良否を判定する比較器４００などで構成されている。
【０００３】
半導体試験装置のプログラムは、ワークステーションなどのコンピュータにより機械語に変換される。変換された機械語は、テスト実行前にハードウェアのインストラクションメモリおよび各種レジスタに転送される。
【０００４】
シーケンス制御回路１００は、プログラムに記述された命令に従い、プログラムカウンタ信号ａを出力する。インストラクションメモリ２００は、メモリアドレスとなるプログラムカウンタ信号ａによってアクセスされ、パターン発生命令ｂを出力する。パターン発生回路３００は、このパターン発生命令ｂに従い被試験ＩＣ５００に供給する試験パターンｃおよび期待パターンｄを発生する。比較器４００は、パターン発生回路からの期待パターンｄと被試験ＩＣ５００からの出力信号ｅを比較し、被試験ＩＣ５００の良否を判定する。
【０００５】
図６は、図５の半導体試験装置におけるプログラム例であり、シーケンス制御命令とパターン発生命令で構成されている。シーケンス制御命令の「ＮＯＯＰ」は、「ＮＯＯＰ」と記述された行を実行し、プログラムカウンタをインクリメントする命令である。「ＬＯＯＰ」は、指定された行から「ＬＯＯＰ」と記述された行までの命令を指定された回数実行するまで、プログラムカウンタをジャンプする命令である。この例の場合は、「６」が指定回数であり、「ＡＡ」が行の指定である。「ＡＡ」で指定された行が「ＬＯＯＰ」と記述された行と同一であるので、この行を６回実行する。
【０００６】
図７は、図５の半導体試験装置で図６のプログラムを実行したときの動作を説明するタイミングチャートである。インストラクションメモリ２００には、アドレス０番地に「Ｘ＝０」、１番地に「Ｘ＝Ｘ＋１」、２番地に「Ｘ＝０」という命令がコンピュータにより設定される。
【０００７】
被試験ＩＣ５００の試験が始まると、シーケンス制御回路１００は、プログラムに従って、プログラムカウンタ信号ａを「０，１，１，１，１，１，１，２」と発生する。インストラクションメモリ２００は、プログラムカウンタ信号ａを受け取りパターン発生命令ｂを「Ｘ＝０」、「Ｘ＝Ｘ＋１」、「Ｘ＝Ｘ＋１」、「Ｘ＝Ｘ＋１」、「Ｘ＝Ｘ＋１」、「Ｘ＝Ｘ＋１」、「Ｘ＝Ｘ＋１」、「Ｘ＝０」と発生する。パターン発生回路３００は、パターン発生命令ｂを受け取って演算を行い、パターン出力ｃを「０，１，２，３，４，５，６，０」と発生する。
【０００８】
このようにしてパターン発生回路３００が発生したパターンは、被試験ＩＣ５００に供給される。比較器４００は、同様にパターン発生回路３００が発生した期待パターンと被試験ＩＣ５００の出力を比較し、被試験ＩＣ５００の良否を判定する。
【０００９】
図８は、従来のシーケンス制御回路１００の一例を示すブロック図であり、フリップフロップ１とシーケンス制御命令を記憶するインストラクションメモリ２とプログラムカウンタ制御部３とで構成されている。
【００１０】
フリップフロップ１は、プログラムカウンタ信号ａを外部に出力するとともにインストラクションメモリ２とプログラムカウンタ制御部３に入力する。インストラクションメモリ２はフリップフロップ１から入力されるプログラムカウンタ信号ａによりアクセスされ、シーケンス制御命令ｆをプログラムカウンタ制御部３に出力する。プログラムカウンタ制御部３はシーケンス制御命令ｆを解読し、次のプログラムカウンタ信号ｇを決定してフリップフロップ１に出力する。次の周期でフリップフロップ１が次のプログラムカウンタ信号ｇを出力する。以下、同様の処理が行われる。
【００１１】
シーケンス制御回路１００は、このような一連の動作を繰り返すことにより、連続したプログラムカウンタ信号ａを出力する。
【００１２】
図９は、図８のシーケンス制御回路で図６のプログラムを実行したときの動作を説明するタイミングチャートである。インストラクションメモリ２には、アドレス０番地に「ＮＯＯＰ」、１番地に「ＬＯＯＰ」、２番地に「ＮＯＯＰ」という命令がコンピュータにより設定され、フリップフロップ１には、初期値「０」が設定される。
【００１３】
被試験ＩＣ５００の試験が始まると、プログラムカウンタ信号ａの値「０」によりインストラクションメモリ２の０番地がアクセスされ、シーケンス制御命令ｆとして「ＮＯＯＰ」命令が出力される。プログラムカウンタ制御部３はこのシーケンス制御命令「ＮＯＯＰ」を解読し、次のプログラムカウンタ信号ｇとしてプログラムカウンタをインクリメントした値「１」を出力する。フリップフロップ１は次の周期で「１」を出力し、同様の処理が行われる。
【００１４】
シーケンス制御回路１００は、このような一連の動作を繰り返すことにより、プログラムカウンタ信号ａを「０，１，１，１，１，１，１，２」と発生する。
【００１５】
図１０は、シーケンス制御命令に関する他のプログラム例である。シーケンス制御命令の「ＪＵＭＰ」は、「ＪＵＭＰ」と記述された行を実行し、指定された行にプログラムカウンタをジャンプする命令である。この例の場合は「ＡＡ」が行の指定であり、「ＡＡ」で指定された行がアドレス１０番地なので次のプログラムカウンタ信号ｇに「１０」を出力する。
【００１６】
「ＪＰＦＬＧ１」は、「ＪＰＦＬＧ１」と記述された行を実行し、シーケンス制御回路内部に備えられたＰＦＬＧ１レジスタの値より次のプログラムカウンタを決定する命令である。ＰＦＬＧ１レジスタの値が「０」の時、プログラムカウンタをインクリメントし、「１」の時指定された行にプログラムカウンタをジャンプする命令である。この例の場合は「ＢＢ」が行の指定であり、ＰＦＬＧ１レジスタの値が「０」の時、次のプログラムカウンタ信号ｇにプログラムカウンタをインクリメントした値「１３」を出力する。「１」の時、「ＢＢ」で指定された行がアドレス２０番地なので、次のプログラムカウンタ信号ｇに「２０」を出力する。
【００１７】
なお、この例では「ＪＰＦＬＧ１」について説明したが、実際には複数のＰＦＬＧnレジスタに対する複数の「ＪＰＦＬＧｎ」命令が可能である（ｎ：１，２，・・・・）。
【００１８】
図１１は、図８のシーケンス制御回路１００におけるプログラムカウンタ制御部３の構成例を示すブロック図であり、ジャンプ制御回路１１と、ループカウンタ１２と、ＰＦＬＧｎレジスタ１３と、加算器１４と、セレクタ１５とで構成されている。
【００１９】
ジャンプ制御回路１１はプログラムカウンタのジャンプを制御するものであり、シーケンス制御命令ｆをデコードし、セレクタ１５に選択信号ｑを出力する。このジャンプ制御回路１１には、ループ回数をカウントするループカウンタ１２とＰＦＬＧｎレジスタ１３が接続されている。
【００２０】
セレクタ１５の一方の入力端子にはプログラムカウンタ信号ａを＋１する加算器１４の出力が入力され、他方の入力端子にはシーケンス制御命令ｆに含まれるジャンプアドレスが入力されていて、ジャンプ制御回路１１から入力される選択信号ｑに基づき、＋１されたプログラムカウンタ信号とジャンプアドレスのいずれかを次のプログラムカウンタ信号ｇとして出力する。
【００２１】
セレクタ１５は、シーケンス制御命令が「ＮＯＯＰ」の場合には加算器１４の出力を選択出力し、シーケンス制御命令が「ＪＵＭＰ」の場合にはシーケンス制御命令ｆに含まれるジャンプアドレスを選択出力する。
【００２２】
また、シーケンス制御命令が「ＬＯＯＰ」の場合には、ループカウンタ１２がループ中であればシーケンス制御命令ｆに含まれるジャンプアドレスを選択し、ループ終了であれば加算器１４の出力を選択する。
【００２３】
さらに、シーケンス制御命令が「ＪＰＦＬＧｎ」の場合には、ＰＦＬＧｎレジスタ１３の値が「１」であればシーケンス制御命令ｆに含まれるジャンプアドレスを選択し、「０」であれば加算器１４の出力を選択する。
【００２４】
特許文献１には、半導体試験装置における従来のシーケンス制御回路の構成が開示されている。
【００２５】
【特許文献１】特開２００１−２８２３２４号公報
【００２６】
ところで、半導体試験装置の被試験ＩＣ５００であるメモリの高速化に伴い、効率よく試験を行うためには、シーケンス制御回路１００を高速化する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかし、従来のシーケンス制御回路は、１周期の間にインストラクションメモリにアクセスしてプログラムカウンタの制御を行うため、最高動作速度はインストラクションメモリのアクセス時間とプログラムカウンタ制御部の動作速度との合計で決まることになり、動作速度を高速化するためにはこれらの動作速度を向上させなければならないという問題点がある。
【００２８】
本発明は、このような問題点に鑑みてなされたものであり、その目的は、動作速度を高速化できるシーケンス制御回路を用いた半導体試験装置を実現することにある。
【課題を解決するための手段】
【００２９】
このような問題を解決するため、請求項１記載の発明は、
プログラムに記述されたパターン発生命令のシーケンスを制御するシーケンス制御回路を備えた半導体試験装置において、
前記シーケンス制御回路は、シーケンス制御命令の一部のデコードをテスト実行直前に行うことを特徴とする。
【００３０】
請求項２記載の発明は、請求項１記載の半導体試験装置において、
前記シーケンス制御命令の一部は、条件分岐命令を含むことを特徴とする。
【００３１】
請求項３記載の発明は、請求項１または請求項２記載の半導体試験装置において、
前記シーケンス制御回路は、
シーケンス制御命令を記憶するインストラクションメモリと、
このインストラクションメモリから入力されるシーケンス制御命令を解読して次のプログラムカウンタ信号を決定するプログラムカウンタ制御部と、
このプログラムカウンタ制御部のプログラムカウンタ信号を外部に出力するとともに前記インストラクションメモリに入力するフリップフロップと、
前記シーケンス制御命令の一部のデコードをテスト実行直前に行い、その変換出力を前記インストラクションメモリに入力する命令変換部、
とで構成されていることを特徴とする。
【発明の効果】
【００３２】
これらにより、テスト実行中にシーケンス制御回路デコードしなければならない命令が少なくなり、その分高速化が図れる。
【発明を実施するための最良の形態】
【００３３】
本発明では、プログラムカウンタ制御部でデコードする命令を削減するために、テスト実行の直前までに値が決定されてテスト実行中は値が変更されないＰＦＬＧｎレジスタの値により動作を選択する条件分岐命令である「ＪＰＦＬＧｎ」命令に着目する。この「ＪＰＦＬＧｎ」命令は、テスト実行の直前にＰＦＬＧｎレジスタの値を確認し、ＰＦＬＧｎレジスタが「０」の場合は「ＮＯＯＰ」命令に変換可能で、「１」の場合は「ＪＵＭＰ」命令に変換可能な命令である。
【００３４】
本発明は、この「ＪＰＦＬＧｎ」命令の変換をテスト実行前にＪＰＦＬＧ命令変換部により行うことを特徴とするもので、「ＪＰＦＬＧｎ」命令を「ＮＯＯＰ」または「ＪＵＭＰ」命令に変換することにより、プログラムカウンタ制御部で「ＪＰＦＬＧｎ」命令をデコードする必要がなくなる。
【００３５】
以下、本発明について図面を参照して説明する。図１は、本発明に基づくシーケンス制御回路の構成例を示すブロック図である。図１において、シーケンス制御回路は、シーケンス制御命令を記憶するインストラクションメモリ２２とプログラムカウンタ制御部２３とフリップフロップ２１とＪＰＦＬＧ命令変換部２４で構成されている。
【００３６】
フリップフロップ２１は、プログラムカウンタ信号ａを外部に出力するとともにインストラクションメモリ２２に入力する。
【００３７】
ＪＰＦＬＧ命令変換部２４は、テスト実行の直前に「ＪＰＦＬＧｎ」命令を「ＮＯＯＰ」または「ＪＵＭＰ」命令に変換する回路であり、その変換出力はインストラクションメモリ２２に入力されている。
【００３８】
インストラクションメモリ２２はフリップフロップ１から入力されるプログラムカウンタ信号ａによりアクセスされ、シーケンス制御命令ｆをプログラムカウンタ制御部２３に出力する。
【００３９】
プログラムカウンタ制御部２３はシーケンス制御命令ｆを解読し、次のプログラムカウンタ信号ｇを決定してフリップフロップ２１に出力する。次の周期でフリップフロップ２１が次のプログラムカウンタ信号ｇを出力する。以下、同様の処理が行われる。なお、プログラムカウンタ制御部２３は、図８に示した従来のシーケンス制御部１００のプログラムカウンタ制御部３から「ＪＰＦＬＧｎ」命令のデコードを削除したものである。
【００４０】
図２は、ＪＰＦＬＧ命令変換部２４の具体例を示すブロック図である。ＪＰＦＬＧ命令変換部２４は、ＪＰＦＬＧ命令識別部３１とＪＰＦＬＧカウンタ３２とＪＰＦＬＧデータメモリ３３とＪＰＦＬＧアドレスメモリ３４とリードカウンタ３５とＰＦＬＧｎレジスタ３６と命令変換部３７で構成されている。
【００４１】
ＪＰＦＬＧ命令識別部３１にはインストラクションメモリ２２に書き込まれるデータｈとライトイネーブル信号ｉが入力され、ＪＰＦＬＧメモリライトイネーブル信号ｋをＪＰＦＬＧカウンタ３２とＪＰＦＬＧデータメモリ３３のＷＥ端子とＪＰＦＬＧアドレスメモリ３４のＷＥ端子に出力する。
【００４２】
ＪＰＦＬＧカウンタ３２は、カウント値ｌをＪＰＦＬＧデータメモリ３３のＷａｄｄ端子とＪＰＦＬＧアドレスメモリ３４のＷａｄｄ端子とリードカウンタ３５に入力する。
【００４３】
ＪＰＦＬＧデータメモリ３３のＷｄａｔａ端子にはインストラクションメモリ２２に書き込まれるデータｈが入力されてＲａｄｄ端子にはリードカウンタ３５のカウント値ｑが入力され、ＪＰＦＬＧアドレスメモリ３４のＷｄａｔａ端子にはインストラクションメモリ２２のライトアドレスｊが入力されてＲａｄｄ端子にはリードカウンタ３５のカウント値ｑが入力される。
【００４４】
命令変換部３７にはＰＦＬＧｎレジスタ３６の値ｍが入力されるとともにＪＰＦＬＧデータメモリ３３のＲｄａｔａ端子からデータｎが入力され、インストラクションメモリ変換用ライトデータｐを出力する。
【００４５】
ＪＰＦＬＧアドレスメモリ３４は、Ｒｄａｔａ端子からインストラクションメモリ変換用ライトアドレスｏを出力する。
【００４６】
このように構成されるＪＰＦＬＧ命令変換部２４の動作を説明する。
コンピュータからインストラクションメモリ２２にシーケンス制御命令が転送される場合であって、テスト実行の直前に「ＪＰＦＬＧｎ」命令を「ＮＯＯＰ」または「ＪＵＭＰ」命令に変換する例について説明する。
【００４７】
ＪＰＦＬＧ命令識別部３１は、コンピュータからインストラクションメモリ２２に転送されるシーケンス制御命令が「ＪＰＦＬＧｎ」命令であるか否かを識別する。「ＪＰＦＬＧｎ」命令である場合はＪＰＦＬＧメモリライトイネーブル信号ｋをアサートし、「ＪＰＦＬＧｎ」命令でない場合はＪＰＦＬＧメモリライトイネーブル信号ｋをネゲートする。
【００４８】
ＪＰＦＬＧカウンタ３２は、初期値を０とし、ＪＰＦＬＧメモリライトイネーブル信号ｋのアサートによりカウンタをインクリメントする。
【００４９】
ＪＰＦＬＧデータメモリ３３は、ＪＰＦＬＧカウンタ３２のカウント値ｌをアドレスとして、ＪＰＦＬＧメモリライトイネーブル信号ｋのアサートによりインストラクションメモリ２２にライトされるデータｈをライトする。
【００５０】
ＪＰＦＬＧアドレスメモリ３４は、ＪＰＦＬＧカウンタ３２のカウント値ｌをアドレスとして、ＪＰＦＬＧメモリライトイネーブル信号ｋのアサートによりインストラクションメモリ２２のライトアドレスｊをライトする。
【００５１】
図３は、コンピュータからインストラクションメモリ２２にシーケンス制御命令が転送されるときの動作例を示すタイミングチャートである。
周期ｔ１において、コンピュータから転送されるシーケンス制御命令が「ＮＯＯＰ」なので、ＪＰＦＬＧ命令識別部３１はＪＰＦＬＧメモリライトイネーブル信号ｋをネゲートする。ＪＰＦＬＧデータメモリ３３およびＪＰＦＬＧアドレスメモリ３４はライトされず、ＪＰＦＬＧカウンタ３２はインクリメントしない。
【００５２】
周期t２において、コンピュータから転送されるシーケンス制御命令が「ＪＰＦＬＧ１」なので、ＪＰＦＬＧ命令識別部３１はＪＰＦＬＧメモリライトイネーブル信号ｋをアサートする。ＪＰＦＬＧデータメモリ３３はＪＰＦＬＧカウンタ３２のカウント値ｌ「０」をアドレスとしてデータ「ＪＰＦＬＧ１」をライトし、ＪＰＦＬＧアドレスメモリ３４はＪＰＦＬＧカウンタ３２のカウント値ｌ「０」をアドレスとしてインストラクションメモリ２２のアドレス「１」をライトする。ＪＰＦＬＧカウンタ３２はインクリメントしカウント値ｌは「１」となる。
【００５３】
周期ｔ３，４では、コンピュータから転送されるシーケンス制御命令が「ＮＯＯＰ」なので、ＪＰＦＬＧ命令識別部３１は、ＪＰＦＬＧメモリライトイネーブル信号kをネゲートする。ＪＰＦＬＧデータメモリ３３およびＪＰＦＬＧアドレスメモリ３４はライトされず、ＪＰＦＬＧカウンタ３２はインクリメントしない。
【００５４】
周期ｔ５では、コンピュータから転送されるシーケンス制御命令が「ＪＰＦＬＧ２」なので、ＪＰＦＬＧ命令識別部３１はＪＰＦＬＧメモリライトイネーブル信号ｋをアサートする。ＪＰＦＬＧデータメモリ３３はＪＰＦＬＧカウンタ３２のカウント値ｌ「１」をアドレスとしてデータ「ＪＰＦＬＧ２」をライトし、ＪＰＦＬＧアドレスメモリ３４はＪＰＦＬＧカウンタ３２のカウント値ｌ「１」をアドレスとしてインストラクションメモリ２２のアドレス「４」をライトする。ＪＰＦＬＧカウンタ３２はインクリメントしカウント値ｌは「２」となる。
【００５５】
周期ｔ６では、コンピュータから転送されるシーケンス制御命令が「ＮＯＯＰ」なので、ＪＰＦＬＧ命令識別部３１は、ＪＰＦＬＧメモリライトイネーブル信号kをネゲートする。ＪＰＦＬＧデータメモリ３３およびＪＰＦＬＧアドレスメモリ３４はライトされず、ＪＰＦＬＧカウンタ３２はインクリメントしない。
【００５６】
周期ｔ７では、コンピュータから転送されるシーケンス制御命令が「ＪＰＦＬＧ３」なので、ＪＰＦＬＧ命令識別部３１は、ＪＰＦＬＧメモリライトイネーブル信号ｋをアサートする。ＪＰＦＬＧデータメモリ３３はＪＰＦＬＧカウンタ３２のカウント値ｌ「２」をアドレスとしてデータ「ＪＰＦＬＧ３」をライトし、ＪＰＦＬＧアドレスメモリ３４はＪＰＦＬＧカウンタ３２のカウント値ｌ「２」をアドレスとしてインストラクションメモリのアドレス「６」をライトする。ＪＰＦＬＧカウンタ３２はインクリメントしカウント値ｌは「３」となる。
【００５７】
このように、コンピュータからインストラクションメモリ２２にシーケンス制御命令が転送されるとき、ＪＰＦＬＧ命令変換部２４は「ＪＰＦＬＧｎ」命令であるか否かを識別し、「ＪＰＦＬＧｎ」命令である場合にはインストラクションメモリ２２のアドレスをＪＰＦＬＧアドレスメモリ３４に記憶し、「ＪＰＦＬＧｎ」命令をＪＰＦＬＧデータメモリ３３に記憶する。
【００５８】
次に、テスト実行の直前に「ＪＰＦＬＧｎ」命令を「ＮＯＯＰ」または「ＪＵＭＰ」命令に変換する動作について説明する。
【００５９】
リードカウンタ３５は、コンピュータからＪＰＦＬＧ命令の変換開始命令（図示せず）を受け取って動作を開始する。リードカウンタ３５は、ＪＰＦＬＧカウンタ３２のカウント値ｌから１減算した値を初期値としてダウンカウントを行う。
【００６０】
ＪＰＦＬＧデータメモリ３３は、リードカウンタ３５のカウント値ｑをアドレスとしてデータｎを出力する。このデータｎが記憶した「ＪＰＦＬＧｎ」命令である。
【００６１】
ＪＰＦＬＧアドレスメモリ３４はリードカウンタ３５のカウント値ｑをアドレスとしてデータｏを出力する。このデータｏがインストラクションメモリ変換用のライトアドレスとなる。
【００６２】
命令変換部３７は、「ＪＰＦＬＧｎ」命令であるＪＰＦＬＧデータメモリ３３のデータｎを受け取る。「ＪＰＦＬＧｎ」命令をデコードし、対応するＰＦＬＧｎレジスタ３６の値ｍに基づき、「ＮＯＯＰ」命令または「ＪＵＭＰ」命令に変換する。ＰＦＬＧｎレジスタ３６が「０」の場合は「ＮＯＯＰ」命令に変換し、「１」の場合は「ＪＵＭＰ」命令に変換する。変換された出力データｐがインストラクションメモリ変換用のライトデータとなる。
【００６３】
図４は、図３で記憶したインストラクションメモリ２２のアドレスと「ＪＰＦＬＧｎ」命令を、テスト実行の直前に「ＮＯＯＰ」または「ＪＵＭＰ」命令に変換するときの動作例を示すタイミングチャートである。
【００６４】
周期ｔ１において、リードカウンタ３５は、ＪＰＦＬＧカウンタ３２のカウント値ｌ「３」から１を減算した値「２」をカウント値ｑとして出力する。ＪＰＦＬＧデータメモリ３３は、リードカウンタ３５のカウント値ｑ「２」をアドレスとして、データｎとして「ＪＰＦＬＧ３」を出力する。命令変換部３７は、データｎの「ＪＰＦＬＧ３」命令を受け取り、ＰＦＬＧ３レジスタ３６の値が「１」なので「ＪＵＭＰ」命令に変換する。
【００６５】
ＪＰＦＬＧアドレスメモリ３４は、リードカウンタ３５のカウント値ｑ「２」をアドレスとして、データｏとして「６」を出力する。インストラクションメモリ２２は、ＪＰＦＬＧアドレスメモリ３４のデータｏ「６」をアドレスとして、命令変換部３７の出力データｐ「ＪＵＭＰ」をライトする。
【００６６】
周期ｔ２では、リードカウンタ３５は、ダウンカウントした値「１」をカウント値ｑとして出力する。ＪＰＦＬＧデータメモリ３３は、リードカウンタ３５のカウント値ｑ「１」をアドレスとして、データｎとして「ＪＰＦＬＧ２」を出力する。命令変換部３７は、データｎの「ＪＰＦＬＧ２」命令を受け取り、ＰＦＬＧ２レジスタ３６の値が「０」なので「ＮＯＯＰ」命令に変換する。
【００６７】
ＪＰＦＬＧアドレスメモリ３４は、リードカウンタ３５のカウント値ｑ「１」をアドレスとして、データｏとして「４」を出力する。インストラクションメモリ２２は、ＪＰＦＬＧアドレスメモリ３４のデータｏ「４」をアドレスとして、命令変換部３７の出力データｐの「ＮＯＯＰ」をライトする。
【００６８】
周期t３では、リードカウンタ３５は、ダウンカウントした値「０」をカウント値ｑとして出力する。ＪＰＦＬＧデータメモリ３３は、リードカウンタ３５のカウント値ｑ「０」をアドレスとして、データｎとして「ＪＰＦＬＧ１」を出力する。命令変換部３７は、データｎの「ＪＰＦＬＧ１」命令を受け取り、ＰＦＬＧ１レジスタ３６の値が「１」なので「ＪＵＭＰ」命令に変換する。
【００６９】
ＪＰＦＬＧアドレスメモリ３４は、リードカウンタ３５のカウント値ｑ「０」をアドレスとして、データｏとして「１」を出力する。インストラクションメモリ２２は、ＪＰＦＬＧアドレスメモリ３４のデータｏ「１」をアドレスとして、命令変換部３７の出力データｐの「ＪＵＭＰ」をライトする。
【００７０】
なお、上記実施例では、ハードウェアにより「ＪＰＦＬＧｎ」命令とインストラクションメモリのアドレスを記憶し、ＰＦＬＧｎレジスタの値によって「ＮＯＯＰ」命令または「ＪＵＭＰ」命令に変換する方式としているが、ソフトウェアで「ＪＰＦＬＧｎ」命令とインストラクションメモリのアドレスを記憶し、ＰＦＬＧｎレジスタの値によって「ＮＯＯＰ」命令または「ＪＵＭＰ」命令に変換する方式としてもよい。
【００７１】
以上説明したように、本発明によれば、テスト実行中にシーケンス制御回路でデコードすべき命令が少なくなり、デコード回路が縮小できることから動作速度が向上し、半導体試験装置の高速化が図れる。
【図面の簡単な説明】
【００７２】
【図１】本発明に基づくシーケンス制御回路の構成例を示すブロック図である。
【図２】図１のＪＰＦＬＧ命令変換部２４の具体例を示すブロック図である。
【図３】図１の動作例を示すタイミングチャートである。
【図４】図１の動作例を示すタイミングチャートである。
【図５】従来の半導体試験装置の構成例を示すブロック図である。
【図６】図５の半導体試験装置におけるプログラム例である。
【図７】図５の動作例を示すタイミングチャートである。
【図８】従来のシーケンス制御回路１００の一例を示すブロック図である。
【図９】図８の動作例を示すタイミングチャートである。
【図１０】シーケンス制御命令に関する他のプログラム例である。
【図１１】図８のシーケンス制御回路１００におけるプログラムカウンタ制御部３の構成例を示すブロック図である。
【符号の説明】
【００７３】
２１  フリップフロップ
２２  インストラクションメモリ
２３  プログラムカウンタ制御部
２４  ＪＰＦＬＧ命令変換部
【図１】
2010085177.tif 000003
【図２】
2010085177.tif 000004
【図３】
2010085177.tif 000005
【図４】
2010085177.tif 000006
【図５】
2010085177.tif 000007
【図６】
2010085177.tif 000008
【図７】
2010085177.tif 000009
【図８】
2010085177.tif 000010
【図９】
2010085177.tif 000011
【図１０】
2010085177.tif 000012
【図１１】
2010085177.tif 000013