(57)【特許請求の範囲】
【請求項１】
パターンプログラムに基づいた複数ビット構成のデータを出力するパターン発生手段と、
前記複数ビット構成のデータに基づいて、波形メモリから波形のイベントに関するデータを発生し、タイミングメモリからイベントの発生タイミングを示すタイミングデータを発生し、前記イベントに関するデータと前記タイミングデータとからなるイベントデータを出力するフレームプロセッサ手段と、
前記フレームプロセッサ手段から出力される前記イベントデータを格納するイベントテーブル手段と、
前記イベントテーブル手段に格納された前記イベントデータを、そのイベントデータの発生の元となった前記複数ビット構成のデータと関連付けて格納するパターン対応イベントテーブル手段と、
前記パターン発生手段から出力される前記複数ビット構成のデータが前記パターン対応イベントテーブルに存在する場合には前記パターン対応イベントテーブル手段から前記複数ビット構成のデータに対応した前記イベントデータを読み出して前記イベントテーブル手段に格納し、存在しない場合には前記複数ビット構成のデータを前記フレームプロセッサ手段に出力するパターン判定手段と
を含んで構成されることを特徴とする半導体試験用プログラムデバッグ装置。
【請求項２】
請求項１において、
前記パターン対応イベントテーブル手段には、前記複数ビット構成のデータをアドレスとして前記イベントデータが格納されていることを特徴とする半導体試験用プログラムデバッグ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体試験装置の動作をエミュレートして試験用プログラムの検証を行う半導体試験用プログラムデバッグ装置に関する。
【０００２】
【従来の技術】
従来から、出荷前のロジックＩＣや半導体メモリ等の各種の半導体素子に対して直流試験や機能試験等を行うものとして、半導体試験装置が知られている。半導体試験装置が行う試験は大別して、機能試験と直流試験である。機能試験は、被検査用半導体デバイスに所定の試験パターン信号を与え、この試験パターン信号に対して予定通りの動作を被検査用半導体デバイスが行ったか否かを検査するものである。直流試験は、被検査用半導体デバイスの各端子の直流特性が予定した特性を満たしているか否かを検査するものである。例えば、既知の電圧を印加した場合に予定通りの電流が端子から取り出せるか否かを試験する電圧印加電流測定試験、または既知の電流を流したり取り出したりした場合に予定通りの電圧が端子に発生しているか否かを試験する電流印加電圧測定試験などがある。また、機能試験を行う場合でも、ハイレベル時の電圧を正規の電圧値、例えば５ボルトよりも低い値の４ボルトに設定したり、またはローレベル時の電圧を正規の電圧値、例えば０ボルトよりも高い値の０．５ボルトに設定したり、被検査用半導体デバイスに印加される電圧条件や電流条件などを種々変更して行う場合が多い。
【０００３】
機能試験や直流試験を行う場合にどのような項目の試験をどのような条件で行うかの各種の条件は予め半導体試験用プログラムに組み込まれているので、この半導体試験用プログラムを動作させることによって被検査用半導体デバイスの各種試験を行うことができる。しかしながら、半導体試験用プログラムは、試験項目の設定、試験条件の設定、試験の実行、試験結果の判定などといった多岐に渡る動作を制御しなければならず、膨大なステップのプログラムで構築されている。この半導体試験用プログラムは被検査用半導体デバイスの種類が変更になったり、そのロジックが変更になったりした場合、それに併せて種々変更されなければならない。半導体試験用プログラムが新規に作成されたり、変更された場合にそのプログラム自体が正常に動作するものなのか否か、そのプログラムの評価を行わなければならない。
【０００４】
その一方法として、実際の半導体試験装置を用いて予め良否の分かっている被検査用半導体デバイスに対して、半導体試験用プログラムを動作させて、そのプログラムの評価を行っていた。しかし、半導体試験装置自体が高価であって導入台数も少ないことから、実際の半導体試験装置を用いて半導体試験用プログラムが正常に動作するか否かの評価を行うことは、半導体試験のラインを停止することになり、好ましくない。そこで、従来は、実際の半導体試験装置を用いて半導体試験用プログラムの評価を行うのではなく、ワークステーション等の汎用コンピュータを用いて半導体試験装置の動作をエミュレートして、その半導体試験用プログラムが正常に動作しているか否かの検証を行っていた。
【０００５】
このように半導体試験装置の動作をエミュレートするものとして、例えば特開平９−１８５５１９号公報に記載されたようなものがある。これは、半導体試験用プログラムが正常に動作するか否かを試験するためのデバッグ装置に関するものである。このデバッグ装置は、汎用コンピュータのオペレーティングシステムの下でデバッグ対象となる半導体試験用プログラムを動作させることによって、疑似的な半導体試験装置を構成している。このデバッグ装置は、実際の半導体試験装置が実際の被検査用半導体デバイスに対して試験を行うのと同じように、被検査用半導体デバイスの測定対象となる各ピン（評価対象ピン）に対して試験条件に従った印加波形データを作成し、この印加波形データが被検査用半導体デバイスの入力ピンに印加された場合に出力ピンから出力されるであろう出力波形データを擬似的に作成し、この出力波形を試験条件と比較することによって、パス／フェイルの判定を行い、それを試験結果格納部に格納し、それと予想される試験結果の期待値とを比較検討し、半導体試験用プログラムが正常に動作しているか否かの検証を行っていた。
【０００６】
図４は、従来のデバッグ装置において、試験条件に従った印加波形データを作成するドライバ波形発生部の概略構成を示す図である。同図において、ドライバ波形発生部は、パターン発生モジュール（ＰＧモジュール）１０、フレームプロセッサモジュール３０及びイベントテーブル４０を含んで構成される。パターン発生モジュール１０は、パターンプログラム１１に従った複数ビット構成のパターンデータを発生し、フレームプロセッサモジュール３０に出力する。例えば、パターン発生モジュール１０から出力される複数ビット構成のパターンデータは、通常のパターン発生器が発生する３ビット構成のデータと、１６通りのタイミングエッジを選択するための４ビット構成のタイミングセットと、パターン発生モードに関するモードデータとの組合せによって決定される５ビット構成のデータに、波形の印加されるピンを特定するピンデータが付加されたもので構成されている。ピンデータを付加するのは、印加波形の種類（ＮＲＺ波形、ＮＺ波形、ＳＢＣ波形、ＦＩＸ波形など）を各ピン毎に設定することができるようになっているからである。
【０００７】
フレームプロセッサモジュール３０は、波形メモリ（Waveform memory ）３１及びタイミングメモリ（Timing memory ）３２を含んで構成され、パターン発生モジュール１０から出力されるパターンデータに基づいたイベントデータを生成し、イベントテーブル４０に出力する。波形メモリ３１は、パターン発生モジュール１０から出力されるパターンデータに基づいて、波形のイベントに関するデータを発生する。この波形のイベントに関するデータは、波形の立ち上がりを示すデータ又は波形の立ち下がりを示すデータである。タイミングメモリ３２は、パターン発生モジュール１０から出力されるパターンデータに基づいて、波形メモリ３１から出力される波形のイベントに関するデータに対してそのイベントの発生タイミングを示すタイミングデータを割り付けてイベントデータ（イベントに関するデータとタイミングデータとの組合せから構成されるデータ）を生成し、それをイベントテーブル４０に出力する。イベントテーブル４０には、フレームプロセッサモジュール３０から出力されるイベントデータが各ピンに対応した波形データとして順次格納される。
【０００８】
図４のドライバ波形発生部がパターンプログラム１１に従ってどのように動作するのかについて説明する。なお、パターン発生モジュール１０から出力される複数ビット構成のパターンデータはパターンプログラム１１内の印加パターンデータとピンデータとから構成されているものとし、タイミングセットとモードデータについては省略して説明する。まず、第１のＮＯＰ命令「ＮＯＰ  ！０１」に従って、パターン発生モジュール１０は、第１ピンのピンデータ「１」と印加パターンデータ「０」に対応したパターンデータ「１０」をフレームプロセッサモジュール３０に出力する。波形メモリ３１は、パターンデータ「１０」に基づいて波形の立ち上がりを示すイベントと立ち下がりを示すイベントの二つを発生する。タイミングメモリ３２は、立ち上がりを示すイベントの発生タイミングとして２０ｎｓを、立ち下がりを示すイベントの発生タイミングとして７０ｎｓを割り付ける。その結果、イベントテーブル４０には、タイミング２０ｎｓで立ち上がるというイベントデータと、タイミング７０ｎｓで立ち下がるというイベントデータとからなる波形データが格納される。
【０００９】
次に、パターン発生モジュール１０は、第１のＮＯＰ命令「ＮＯＰ  ！０１」の第２ピンのピンデータ「２」と印加パターンデータ「１」に対応したパターンデータ「２１」をフレームプロセッサモジュール３０に出力する。フレームプロセッサモジュール３０は、パターンデータ「２１」に基づいたイベントデータを生成し、それを波形データとしてイベントテーブル４０に格納する。以下、同様にして、第２のＮＯＰ命令「ＮＯＰ  ！１１」の第１ピンのピンデータ「１」と印加パターンデータ「１」に対応したパターンデータ「１１」、第２ピンのピンデータ「２」と印加パターンデータ「１」に対応したパターンデータ「２１」に基づいた処理を順次繰り返し、半導体試験装置のドライバ波形発生部の動作をエミュレートする。
【００１０】
【発明が解決しようとする課題】
ところで、実際の半導体試験装置は、各ピン毎にフレームプロセッサを有している。各フレームプロセッサは、パターン発生部からのパターンデータに基づいて並列的に処理を行っている。しかしながら、従来のデバッグ装置は、汎用コンピュータのオペレーティングシステムの下で実際のフレームプロセッサと同等の処理を行わせるようにしているために、図４に示すようにフレームプロセッサモジュール３０を用いて、パターンプログラムに従って第１ピン、第２ピン…の順番で直列に波形データの生成処理を行っている。すなわち、実際の半導体試験装置のフレームプロセッサが行っていた並列的な処理を直列的な処理に変換して実行している。従って、被検査用半導体デバイスのピン数が増加するに従って波形データの作成処理に多大の時間を費やすようになり、問題となっていた。また、最近では被検査用半導体デバイスのピン数は増加の一途にあり、波形データの作成処理に要する時間を短縮することは重要な課題となっていた。
【００１１】
この発明は、このような点に鑑みて創作されたものであり、その目的は、半導体試験装置の動作をエミュレートした場合でも各ピンに対応した波形データを高速に作成することのできる半導体試験用プログラムデバッグ装置を提供することにある。
【００１２】
【課題を解決するための手段】
上述の課題を解決するために、請求項１に記載された半導体試験用プログラムデバッグ装置は、パターンプログラムに基づいた複数ビット構成のデータを出力するパターン発生手段と、前記複数ビット構成のデータに基づいて、波形メモリから波形のイベントに関するデータを発生し、タイミングメモリからイベントの発生タイミングを示すタイミングデータを発生し、前記イベントに関するデータと前記タイミングデータとからなるイベントデータを出力するフレームプロセッサ手段と、前記フレームプロセッサ手段から出力される前記イベントデータを格納するイベントテーブル手段と、前記イベントテーブル手段に格納された前記イベントデータを、そのイベントデータの発生の元となった前記複数ビット構成のデータと関連付けて格納するパターン対応イベントテーブル手段と、前記パターン発生手段から出力される前記複数ビット構成のデータが前記パターン対応イベントテーブルに存在する場合には前記パターン対応イベントテーブル手段から前記複数ビット構成のデータに対応した前記イベントデータを読み出して前記イベントテーブル手段に格納し、存在しない場合には前記複数ビット構成のデータを前記フレームプロセッサ手段に出力するパターン判定手段とを含んで構成されるものである。
【００１３】
請求項１に記載された発明は、フレームプロセッサ手段が発生したイベントデータを複数ビット構成のデータと共にパターン対応イベントテーブル手段に格納しておき、パターン発生手段から出力された複数ビット構成のデータがパターン対応イベントテーブル手段に存在するか否かをパターン判定手段で判定し、それが既に存在する場合にはそこから複数ビット構成のデータに対応したイベントデータを読み出してイベントテーブル手段に格納し、存在しない場合にはフレームプロセッサ手段による通常のイベントデータの発生処理を行うようにしたものである。これによって、一旦発生されたイベントデータについてはフレームプロセッサ手段が行っていたイベントデータの発生処理を省略することができ、各ピンに対応した波形データを高速に作成することができるようになる。なお、半導体試験装置のようにパターンプログラムに基づいて複数ビット構成のデータが繰り返し発生されるような場合には、フレームプロセッサ手段によるイベントデータの発生処理の省略される割合も高くなり、その効果は極めて大きい。
【００１４】
請求項２に記載された本発明の半導体試験用プログラムデバッグ装置は、前記パターン対応イベントテーブル手段に前記複数ビット構成のデータをアドレスとする前記イベントデータを格納したものである。請求項２に記載された発明は、パターン対応イベントテーブル手段に複数ビット構成のデータをアドレスとして供給するだけで前記イベントデータを読み出すことができるので、波形データを高速に作成することができる。
【００１５】
【発明の実施の形態】
以下、本発明に係る半導体試験用プログラムデバッグ装置の一実施の形態について、図面を参照しながら説明する。図２は、半導体試験用プログラムデバッグ装置の全体構成を示す図である。デバッグ装置１００は、半導体試験装置の動作をエミュレートし、かつ被検査用半導体デバイスの動作をシミュレートすることによって、半導体試験用プログラムが正常に動作するか否かを検証するためのものであり、ワークステーション等の汎用コンピュータによって実現される。
【００１６】
この実施の形態に係るデバッグ装置１００は、実際の半導体試験装置及び被検査用半導体デバイスの動作を模擬するものなので、その詳細な説明を行う前に、模擬される半導体試験装置の概略構成について説明する。
【００１７】
図３は、実際の半導体試験装置の全体構成を示す図である。同図では、半導体試験装置２００に実際の被検査用半導体デバイス２５０が接続された状態が示されている。半導体試験装置２００は、被検査用半導体デバイス２５０に対して各種の直流試験（ＤＣパラメトリック試験）や機能試験を行うものである。半導体試験装置２００は、テスタ制御部２１０、テスタバス２３０、テスタ本体２４０、被検査用半導体デバイス２５０を搭載するソケット部（図示せず）を含んで構成されている。
【００１８】
テスタ制御部２１０は、テスタ本体２４０の動作を制御するためのものであり、半導体試験用プログラム（デバイステストプログラム）２１２、アプリケーションプログラム２１４、言語解析実行部２１６、テスタライブラリ２１８、テスタバスドライバ２２０を含んで構成されている。
【００１９】
デバイステストプログラム２１２は、ユーザが半導体試験装置２００を用いて、被検査用半導体デバイス２５０に対してどのような試験を行うのか、その手順や方法を記述したものである。一般的にこのデバイステストプログラムは、半導体試験装置２００のユーザによって開発作成されるものである。従って、ユーザは実際の半導体試験装置２００を用いることなく、この実施の形態に係るデバッグ装置１００を用いて自分の作成したデバイステストプログラム２１２が正常に動作するか否かの検証を行い、完成度の高いデバイステストプログラムを作成することができる。言語解析実行部２１６は、デバイステストプログラム２１２の構文解析などを行い、デバイステストプログラム２１２に従って半導体試験装置２００を忠実に動作させる中心的な役割を果たすものである。アプリケーションプログラム２１４は、デバイステストプログラム２１２及び言語解析実行部２１６と連携して動作するものであり、機能試験及び直流試験に対応した実際の試験信号等を被検査用半導体デバイス２５０に印加し、その出力信号を取り込んで被検査用半導体デバイス２５０の良否を判定したり、特性を解析するものである。テスタライブラリ２１８は、言語解析実行部２１６によって構文解析が行われた後のデバイステストプログラム２１２の命令をレジスタレベルの命令（後述するレジスタ２４２へのデータ書き込み命令及びレジスタ２４２からのデータ読み出し命令に関するデータ）に変換して、半導体試験装置２００の動作に必要なデータの作成や設定を行うとともに、テスタ本体２４０に対して測定動作を指示する。テスタバスドライバ２２０は、テスタバス２３０を介して、テスタライブラリ２１８によって作成されたデータをテスタ本体２４０内のレジスタ２４２に転送する。
【００２０】
テスタ本体２４０は、テスタバス２３０を介して取り込まれたテスタ制御部２１０からのデータに基づいて被検査用半導体デバイス２５０に対して各種の試験を行う。テスタ本体２４０は、レジスタ２４２とメモリ２４４と試験実行部２４６とを含んで構成される。レジスタ２４２は、テスタバス２３０を介して取り込まれたテスタライブラリ２１８からのデータを格納する。このレジスタ２４２に格納されたデータは、直接あるいはメモリ２４４を介して試験実行部２４６に出力される。また、レジスタ２４２及びメモリ２４４は、試験実行部２４６からの試験結果に関するデータを格納する試験結果格納領域（図示せず）を有する。
【００２１】
試験実行部２４６は、機能試験実行部２４７およびＤＣパラメトリック試験実行部２４８を備えている。試験実行部２４６は、レジスタ２４２やメモリ２４４に格納されたテスタライブラリ２１８からのデータに基づいて、被検査用半導体デバイス２５０に対して機能試験やＤＣパラメトリック試験を行い、その試験結果のデータをレジスタ２４２やメモリ２４４の試験結果格納領域に格納する。この試験実行部２４６内に、被検査用半導体デバイス２５０の各ピンに印加される印加波形データを作成するドライバ波形発生部が複数存在する。レジスタ２４２及びメモリ２４４に格納された試験結果データは、テスタドライバ２２０によってテスタバス２３０を介して直接テスタライブラリ２１８に取り込まれる。なお、メモリ２４４に格納された試験結果データは、レジスタ２４２を介してテスタライブラリ２１８に取り込まれる。
【００２２】
図２のデバッグ装置１００は上述の半導体試験装置２００の全体動作をエミュレートすると共に被検査用半導体デバイス２５０の動作をシミュレートするものである。従って、半導体試験装置２００用に作成されたデバイステストプログラム１１２を図２のデバッグ装置１００を用いて実行すると、そのデバイステストプログラム１１２の動作がユーザの意図したものと一致するか否かを調べることができる。次に、この実施の形態に係るデバッグ装置１００の構成について説明する。
【００２３】
図２に示すエミュレータ制御部１１０は、デバイステストプログラム１１２、アプリケーションプログラム１１４、言語解析実行部１１６、テスタライブラリ１１８、テスタバスエミュレータ１２０を含んで構成されている。このエミュレータ制御部１１０は、テスタエミュレート部１４０の動作を制御するためのものであり、図３に示した半導体試験装置２００に含まれるテスタ制御部２１０と基本的に同じ動作を行う。
【００２４】
デバイステストプログラム１１２は、半導体試験装置２００を用いて被検査用半導体デバイス２５０に対してどのような試験を行うのか、その手順や方法を記述したものであり、デバッグ装置１００によってデバッグの対象となるプログラムである。従って、図３のデバイステストプログラム２１２がそのままこのデバイステストプログラム１１２として移植され、同様の動作を行うように構成される。アプリケーションプログラム１１４、言語解析実行部１１６及びテスタライブラリ１１８についても同様に、図３のアプリケーションプログラム２１４、言語解析実行部２１６及びテストライブラリ２１８がそのまま移植され、同様の動作を行うように構成される。テスタバスエミュレータ１２０は、エミュレータ制御部１１０とテスタエミュレート部１４０との間を仮想的に接続する仮想テスタバス１３０を駆動し、この仮想テスタバス１３０を介してテスタライブラリ１１８とテスタエミュレート部１４０との間のデータの送受を制御する。
【００２５】
テスタエミュレート部１４０は、図２のテスタ本体２４０の動作をソフトウェアで実現したものであり、エミュレータ制御部１１０内のテスタライブラリ１１８の動作指示に応じて仮想デバイス１５０に対する模擬的な試験を行う。テスタエミュレート部１４０は、仮想レジスタ１４２と仮想メモリ１４４と仮想試験実行部１４６を含んで構成されている。仮想レジスタ１４２は、テスタライブラリ１１８からのデータを格納する。この仮想レジスタ１４２に格納されたデータは、直接あるいは仮想メモリ１４４を介して仮想試験実行部１４６に送られる。また、仮想レジスタ１４２と仮想メモリ１４４は、仮想試験実行部１４６から出力される仮想試験結果データを格納する試験結果格納領域（図示せず）を有する。仮想試験実行部１４６は、機能試験実行部１４７及びＤＣパラメトリック試験実行部１４８を備えている。この仮想試験実行部１４６は、仮想レジスタ１４２に格納されたテスタライブラリ１１８からのデータに基づいて、仮想デバイス１５０に対して所定の印加波形データを出力して、機能試験実行部１４７による機能試験やＤＣパラメトリック試験実行部１４８によるＤＣパラメトリック試験を行い、その仮想試験結果データを仮想レジスタ１４２やメモリ１４４の試験結果格納領域に格納する。仮想レジスタ１４２及び仮想メモリ１４４に格納された仮想試験結果データは、仮想テスタバス１３０を介してテスタライブラリ１１８に出力される。試験結果解析判定部１６０は、仮想レジスタ１４２やメモリ１４４又はテスタライブラリ１１８に格納されている仮想試験結果データと、予め予想される試験結果の期待値とを比較検討し、デバイステストプログラム１１２が正常に動作しているか否かの検証を行い、その結果をユーザに表示する。例えば、デバイステストプログラム１１２の実行によって誤った試験結果が得られた場合は、その誤った試験結果の原因となるプログラムの行番号等をモニタ（図示せず）上に表示したり、プリントアウトしたりする。
【００２６】
図１は、仮想デバイス１５０の各ピンに印加される印加波形データを擬似的に作成する仮想試験実行部１４７内のドライバ波形発生部の概略構成を示す図である。図１において図４と同じ構成のものには同一の符号が付してある。図１のドライバ波形発生部が図４のものと異なる点は、フレームプロセッサモジュール３０によって発生されたイベントデータをパターンデータと共にパターン対応イベントテーブル５０に格納しておき、パターン発生モジュール１０から出力されるパターンデータがパターン対応イベントテーブル５０に存在する場合にはパターン対応イベントテーブル５０からパターンデータに対応したイベントデータを読み出してイベントテーブル４０に格納するようにした点である。
【００２７】
同図において、ドライバ波形発生部は、パターン発生モジュール１０、パターン判定モジュール２０、フレームプロセッサモジュール３０、イベントテーブル４０、パターン対応イベントテーブル５０を含んで構成される。
【００２８】
パターン発生モジュール１０は、パターンプログラム１１に従った複数ビット構成のパターンデータを発生し、フレームプロセッサモジュール３０に出力する。例えば、パターン発生モジュール１０から出力される複数ビット構成のパターンデータは、通常のパターン発生器が発生する３ビット構成のデータと、１６通りのタイミングエッジを選択するための４ビット構成のタイミングセットと、パターン発生モードに関するモードデータとの組合せからなる５ビット構成のデータに、さらに、波形の印加されるピンを特定するためのピンデータが付加された複数ビット構成のデータからなる。
【００２９】
パターン判定モジュール２０は、パターン発生モジュール１０から出力される複数ビット構成のパターンデータに対応するイベントデータがパターン対応イベントテーブル５０に存在するか否かの判定を行い、それが存在しないと判定された場合にはそのパターンデータをフレームプロセッサモジュール３０に出力し、存在すると判定された場合にはそのパターンデータをパターン対応イベントテーブル５０に出力する。なお、パターン判定モジュール２０は、パターンデータ毎にフラグを設け、フラグに「１」がセットされているか否かによってパターン対応イベントテーブル５０にパターンデータに対応するイベントデータが存在するか否かの判定を行うようにしてもよいし、パターン対応イベントテーブル５０に直接アクセスして判定してもよい。
【００３０】
フレームプロセッサモジュール３０は、波形メモリ３１及びタイミングメモリ３２を含んで構成され、パターン判定モジュール２０から出力されるパターンデータに基づいたイベントデータを発生し、イベントテーブル４０に出力する。波形メモリ３１は、パターン判定モジュール１０から出力されたパターンデータに基づいて波形のイベントに関するデータを発生する。この波形のイベントに関するデータは、波形の立ち上がりを示すデータ又は波形の立ち下がりを示すデータである。タイミングメモリ３２は、パターン判定モジュール２０から出力されたパターンデータに基づいて、波形メモリ３１から出力される波形のイベントに関するデータに対してそのイベントの発生タイミングを示すタイミングデータを割り付け、イベントに関するデータとタイミングデータとの組合せから構成されるイベントデータを生成し、それをイベントテーブル４０に出力する。
【００３１】
イベントテーブル４０には、フレームプロセッサモジュール３０から出力されたイベントデータ又はパターン対応イベントテーブル５０から読み出されたイベントデータが各ピンに対応した波形データとして順次格納される。パターン対応イベントテーブル５０には、パターン判定モジュール２０から出力されるパターンデータをアドレスとして、イベントテーブル４０に格納されたイベントデータと同じデータが順次格納される。パターン対応イベントテーブル５０に格納されているイベントデータは、パターン判定モジュール２０から出力されるパターンデータをアドレスとして順次読み出され、波形データとしてイベントテーブル４０に出力され、そこに格納される。
【００３２】
上述したパターン発生モジュール１０がパターン発生手段に、フレームプロセッサモジュール３０がフレームプロセッサ手段に、波形メモリ３１が波形メモリに、タイミングメモリ３２がタイミングメモリに、イベントテーブル４０がイベントテーブル手段に、パターン対応イベントテーブル５０がパターン対応イベントテーブル手段に、パターン判定モジュール２０がパターン判定手段に、それぞれ対応する。
【００３３】
図１のドライバ波形発生部がパターンプログラム１１に従ってどのように動作するのかについて説明する。なお、パターン発生モジュール１０から出力される複数ビット構成のパターンデータがパターンプログラム１１内の印加パターンデータとピンデータとから構成されているものとして説明し、タイミングセットとモードデータとの関係については省略する。
【００３４】
まず、第１のＮＯＰ命令「ＮＯＰ  ！０１」に従って、パターン発生モジュール１０は、第１ピンのピンデータ「１」と印加パターンデータ「０」に対応したパターンデータ「１０」をパターン判定モジュール２０に出力する。なお、印加パターンデータは３ビット構成のデータであり、ピンデータは２１６ピンの場合には８ビット構成のデータであるが、説明の便宜上、上述のように表す。パターン判定モジュール２０は、パターンデータ「１０」がパターン対応イベントテーブル５０には存在しないと判定するので、そのパターンデータ「１０」をフレームプロセッサモジュール３０に出力する。フレームプロセッサモジュール３０の波形メモリ３１は、パターン判定モジュール２０から出力されるパターンデータ「１０」に基づいて、波形の立ち上がりを示すイベントと立ち下がりを示すイベントの二つを発生する。フレームプロセッサモジュール３０のタイミングメモリ３２は、パターン判定モジュール２０から出力されるパターンデータ「１０」に基づいて、立ち上がりを示すイベントの発生タイミングとして２０ｎｓを、立ち下がりを示すイベントの発生タイミングとして７０ｎｓを割り付ける。その結果、イベントテーブル４０には、タイミング２０ｎｓで立ち上がるというイベントデータと、タイミング７０ｎｓで立ち下がるというイベントデータとからなる波形データが格納される。同様に、パターン対応イベントテーブル５０には、パターンデータ「１０」をアドレスとして、タイミング２０ｎｓで立ち上がるというイベントデータと、タイミング７０ｎｓで立ち下がるというイベントデータとからなる波形データが格納される。
【００３５】
次に、パターン発生モジュール１０は、第１のＮＯＰ命令「ＮＯＰ  ！０１」の第２ピンのピンデータ「２」と印加パターンデータ「１」に対応したパターンデータ「２１」をパターン判定モジュール２０に出力する。パターン判定モジュール２０は、パターンデータ「２１」がパターン対応イベントテーブル５０には存在しないと判定するので、そのパターンデータ「２１」をフレームプロセッサモジュール３０に出力する。フレームプロセッサモジュール３０の波形メモリ３１は、パターン判定モジュール２０から出力されるパターンデータ「２１」に基づいて波形の立ち上がりを示すイベントと立ち下がりを示すイベントの二つを発生する。フレームプロセッサモジュール３０のタイミングメモリ３２は、パターンデータ「２１」に基づいて立ち上がりを示すイベントの発生タイミングとして４０ｎｓを、立ち下がりを示すイベントの発生タイミングとして９０ｎｓを割り付ける。その結果、イベントテーブル４０には、タイミング４０ｎｓで立ち上がるというイベントデータと、タイミング９０ｎｓで立ち下がるというイベントデータとからなる波形データが格納される。同様に、パターン対応イベントテーブル５０には、第２ピンのピンデータ「２」と印加パターンデータ「１」に対応するパターンデータ「２１」をアドレスとして、タイミング４０ｎｓで立ち上がるというイベントデータと、タイミング９０ｎｓで立ち下がるというイベントデータとからなる波形データが格納される。
【００３６】
パターン発生モジュール１０は、第２のＮＯＰ命令「ＮＯＰ  ！１１」の第１ピンのピンデータ「１」と印加パターンデータ「１」に対応したパターンデータ「１１」をパターン判定モジュール２０に出力する。パターン判定モジュール２０は、パターンデータ「１１」がパターン対応イベントテーブル５０には存在しないと判定するので、そのパターンデータ「１１」をフレームプロセッサモジュール３０に出力する。フレームプロセッサモジュール３０は、パターンデータ「１１」に基づいたイベントデータを発生し、それを前述と同様にしてイベントテーブル４０及びパターン対応イベントテーブル５０に格納する。
【００３７】
次に、パターン発生モジュール１０は、第２のＮＯＰ命令「ＮＯＰ  ！１１」の第２ピンのピンデータ「２」と印加パターンデータ「１」に対応したパターンデータ「２１」をパターン判定モジュール２０に出力する。パターン判定モジュール２０は、パターンデータ「２１」が既にパターン対応イベントテーブル５０に存在すると判定するので、そのパターンデータ「２１」を読み出しアドレスとしてパターン対応イベントテーブル５０に出力する。アドレスとしてパターンデータ「２１」の入力されたパターン対応イベントテーブル５０からは前回の処理で格納済みのタイミング４０ｎｓで立ち上がるというイベントデータと、タイミング９０ｎｓで立ち下がるというイベントデータとからなる波形データが読み出され、イベントテーブル４０に格納される。以下、同様にして、パターンプログラム１１に従って、同様の処理が繰り返し実行される。このように、フレームプロセッサモジュール３０の処理が省略され、パターン対応イベントテーブル５０から読み出されたイベントデータがイベントテーブル４０に格納されるだけなので、処理が簡単になり、速度が向上する。また、パターンプログラム１１は通常同じパターンの繰り返しによって構成されている場合が多いので、このような場合にはフレームプロセッサモジュール３０の処理が省略される割合も大きくなるので、実行速度が飛躍的に向上することになる。
【００３８】
なお、本発明は上述の実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、図１のドライバ波形発生部は、機能ブロック図で示してあるが、これに対応したソフトウェアで実現してもよいことは言うまでもない。また、上述の実施の形態では、印加波形データを作成するドライバ波形発生部を例に説明したが、比較波形データを作成する場合にも同様に適用できることは言うまでもない。
【００３９】
【発明の効果】
上述したようにこの発明によれば、半導体試験装置の動作をエミュレートした場合でも各ピンに対応した波形データを高速に作成することができるという効果がある。
【図面の簡単な説明】
【図１】本発明に係る半導体試験用プログラムデバッグ装置において、仮想デバイスの各ピンに印加される印加波形データを擬似的に作成するドライバ波形発生部の概略構成を示す図である。
【図２】本発明に係る半導体試験用プログラムデバッグ装置の全体構成を示す図である。
【図３】実際の半導体試験装置の全体構成を示す図である。
【図４】従来のデバッグ装置において、試験条件に従った印加波形データを作成するドライバ波形発生部の概略構成を示す図である。
【符号の説明】
１０  パターン発生モジュール
２０  パターン判定モジュール
３０  フレームプロセッサモジュール
３１  波形メモリ
３２  タイミングメモリ
４０  イベントテーブル
５０  パターン対応イベントテーブル
【図１】
0004132499.tif 000002
【図２】
0004132499.tif 000003
【図３】
0004132499.tif 000004
【図４】
0004132499.tif 000005