(57)【要約】【課題】ＩＣテスタの稼働率を低下させることなくＩＣテスタ用組み込みソフトウェアの品質を確認する方法を提供。【解決手段】ユーザの作成したテストプログラム３０に従って、テストヘッド１２のピンエレクトロニクス１８に組み込まれている組み込みソフトウェアを用いて、テストヘッド内のレジスタに、ＩＣテスタの駆動に必要なパラメータを、正常な組み込みソフトウェアを用いて順次設定し、パラメータ管理システム３４は、この正常なパラメータを、リファレンスパラメータ４４として保存する。組み込みソフトウェアの更新後、再び、テストプログラム３０を実行することにより、新たなデバッグ対象の組み込みソフトウェアを用いて設定されたパラメータをレジスタに設定し、これを過去に保存したリファレンスパラメータ４４と比較する。比較の結果、相違点があれば、更新された組み込みソフトウェアにディグレードが生じていると判断できる。【選択図】図１
2008089493.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスの各端子に順次設定されるパラメータが記載されたテストプログラムに従って該パラメータを設定するために用いられる、ＩＣテスタ用組み込みソフトウェアのデバッグ方法において、
正常な組み込みソフトウェアを用いてパラメータを設定する工程と、
該設定したパラメータをリファレンスパラメータとして保存する工程と、
デバッグ対象の組み込みソフトウェアを用いてパラメータを設定する工程と、
前記リファレンスパラメータとデバッグ対象の組み込みソフトウェアを用いて設定したパラメータとを比較して相違を検出する工程とを含むことを特徴とする、ＩＣテスタ用組み込みソフトウェアのデバッグ方法。
【請求項２】
前記テストプログラムは、テスト遂行に用いられるパラメータを指定する１つ以上のジョブを実行し、
前記保存する工程では、前記１つ以上のジョブ各々の実行に同期して前記リファレンスパラメータを保存することを特徴とする、請求項１に記載のＩＣテスタ用組み込みソフトウェアのデバッグ方法。
【請求項３】
前記保存する工程では、前記リファレンスパラメータを、初期パラメータおよび順次設定される過程で変化したパラメータを示す差分データとして保存することを特徴とする、請求項１または２に記載のＩＣテスタ用組み込みソフトウェアのデバッグ方法。
【請求項４】
前記比較して相違を検出する工程工程では、前記１つ以上のジョブ各々の実行に同期して前記比較および相違の検出を行うことを特徴とする、請求項２または３に記載のＩＣテスタ用組み込みソフトウェアのデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣテスタに組み込まれる組み込みソフトウェアのデバッグ方法に関するものである。
【背景技術】
【０００２】
特許文献１に示すように、一般的に、ＩＣ（Integrated Circuit）テスタのテストヘッドには、ＣＰＵ（Central Processing Unit）が設けられ、ＣＰＵには、予め、ＩＣテスタの駆動に必要なパラメータを設定する組み込みソフトウェア（ファームウェア）が組み込まれている。パラメータは、テストヘッドの有する所定の複数のレジスタに設定されるものであり、具体的には、テスタの各端子（ピン）に与える電流・電圧値、パターンデータ、リレーのＯＮ／ＯＦＦなどのリソース情報である。ＩＣテスタは、レジスタに設定されるこれら順次設定されるパラメータに従って各端子を設定し、被試験デバイス（Device Under Unit; ＤＵＴ）のテストを行う。
【０００３】
組み込みソフトウェアは、上述のようなリソース情報をテストヘッドに設定するが、かかる設定は、ユーザが作成したテストプログラムからの指定に従って行われる。テストプログラムは、ＩＣテスタに一連のテストを実行させる１つ以上のジョブを実行する。
【０００４】
ジョブを実行することにより、テストに必要なパラメータが指定され、これに応じて、ＣＰＵが、組み込みソフトウェアを用い、レジスタに上記のパラメータを設定する。そのジョブの完了後は、別のジョブを実行することにより、再び組み込みソフトウェアを介して、レジスタに、別のパラメータが設定される。このように、レジスタに格納されるパラメータの値は、ジョブが変わるたびに変更される。そして、ＣＰＵに組み込まれている組み込みソフトウェアは、テストプログラム（複数のジョブを実行する）で指定されるパラメータを正しくレジスタに保存する役割を果たす。
【０００５】
ところで、上述のような組み込みソフトウェアが、機能の追加やデバッグにより更新された場合、あるいは、新しく開発された場合、新しい組み込みソフトウェアに品質劣化（ディグレード）がないことを確認する必要がある。ディグレードとは、具体的には、新しい組み込みソフトウェアにバグがあり、従来の組み込みソフトウェアと同様の期待されたデータをレジスタ群に設定することができないことを意味する。ディグレードがあると、当然、ＩＣテスタが正しくテストを遂行できなくなる。
【０００６】
従来、新しい組み込みソフトウェアの品質を確認するために、テスタ専用言語によって専用の検証プログラムを作成し、利用していた。かかる検証プログラムには、ＩＣテスタのレジスタ群から直接データを読み取る専用ルーチンを用意し、これにより、読み取ったデータと、予めＩＣテスタの仕様によって期待されているデータとが一致していることを確認することにより、新しい組み込みソフトウェアにディグレードがないことを確認していた。
【特許文献１】特開２０００−２９２５００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ユーザが作成するテストプログラムには、レジスタ読み取り専用ルーチンは実装されていない。そのため、ユーザがテスタを使用してテストを遂行する際には、パラメータを取得して動作確認をすることができず、したがって、組み込みソフトウェアの品質を確認することができない。組み込みソフトウェアの品質を確認するには、常に、テストプログラムによるテスト遂行とは別に、上述の専用の検証プログラムを用いて、検証を行う必要があった。これはテスタの稼働率を下げることとなる。
【０００８】
本発明はこのような課題に鑑み、専用の検証プログラムを用いることなく、ＩＣテスタによる被試験デバイスのテスト遂行時に、組み込みソフトウェアにディグレードがないことを確認する、ＩＣテスタに組み込まれる組み込みソフトウェアのデバッグ方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上述の課題を解決するために、ＩＣテスタの各端子に順次設定されるパラメータを記載したテストプログラムに従ってパラメータを設定するために用いられる、ＩＣテスタ用組み込みソフトウェアのデバッグ方法において、正常な組み込みソフトウェアを用いてパラメータを設定する工程と、設定したパラメータをリファレンスパラメータとして保存する工程と、デバッグ対象の組み込みソフトウェアを用いてパラメータを設定する工程と、リファレンスパラメータとデバッグ対象の組み込みソフトウェアを用いて設定したパラメータとを比較して相違を検出する工程とを含むことを特徴とする。
【００１０】
また、上記のテストプログラムは、テスト遂行に用いられるパラメータを指定する１つ以上のジョブを実行し、上記の保存する工程では、１つ以上のジョブ各々の実行に同期してリファレンスパラメータを保存してよいし、上記の保存する工程では、リファレンスパラメータを、初期パラメータおよび順次設定される過程で変化したパラメータを示す差分データとして保存してよい。
【００１１】
さらに、上記の差分を検出する工程では、１つ以上のジョブ各々の実行に同期して比較および相違の検出を行ってよい。
【発明の効果】
【００１２】
本発明によれば、ユーザが作成したテストプログラムを実行して被試験デバイスをテストする際に、正常な組み込みソフトウェアによってＩＣテスタのレジスタに順次設定されたパラメータをリファレンスパラメータとして取得・保存可能である。そして、組み込みソフトウェアが更新されたときには、再びテストプログラムを実行することにより、過去に保存されたリファレンスパラメータと、更新されたデバッグ対象の組み込みソフトウェアによって新たに順次設定されたパラメータとを比較できる。この比較により、組み込みソフトウェアの更新前後でパラメータが一致していることを確認することで、更新された組み込みソフトウェアにディグレードがないことを確認可能である。
【００１３】
また、本発明によれば、組み込みソフトウェアのデバッグ時に、専用の検証プログラムを実行する必要はなく、ユーザが作成したテストプログラムを実行することでデバッグが可能であるため、ＩＣテスタの稼働率を低下させることがない。
【発明を実施するための最良の形態】
【００１４】
次に添付図面を参照して本発明による組み込みソフトウェアのデバッグ方法の実施形態を詳細に説明する。添付図面において、本発明と直接関係のない要素は省略し、信号や情報は、それが現れる信号線の符号によって表記するものとする。また、同様の要素については、同一の参照符号によって表記するものとする。
【００１５】
図１は本発明による組み込みソフトウェアのデバッグ方法を適用するＩＣテスタシステムのブロック図である。ＩＣテスタシステム１０は、テストヘッド１２と、テストヘッド１２に接続されてこれを制御するテスタコントローラ１４と、テスタコントローラ１２に接続される記憶装置であるハードディスク１６と、同じくテスタコントローラ１２に接続される表示装置１７とで構成されている。
【００１６】
テストヘッド１２の詳細な構成を、以下、説明する。テストヘッド１２には、複数のピンエレクトロニクス１８が含まれている。各ピンエレクトロニクス１８はＩＣ２０Ａ、２０Ｂを含み、これらはそれぞれ、レジスタ２２Ａ、２２Ｂを含む。これらのレジスタ２２Ａ、２２Ｂには、ＩＣテスタの駆動に必要なパラメータが設定される。ピンエレクトロニクス１８のＣＰＵ２４は、ピンエレクトロニクス毎に予め組み込まれている組み込みソフトウェアに基づいて、これらレジスタ２２Ａ、２２Ｂに直接パラメータを設定する。なお、図示の便宜上、２つのレジスタ２２Ａ、２２Ｂしか示していないが、レジスタの数はこれより多くてもよく、個々のピンエレクトロニクス１８に複数のレジスタが含まれていることは言うまでもない。
【００１７】
組み込みソフトウェア２６には、元々、パラメータは備えられていず、図１に示す、ユーザが作成するテストプログラム３０が上記パラメータを指定する。テストプログラム３０は、被試験デバイス３１に対応してユーザが作成するプログラムであり、上述のパラメータを指定する１つ以上のジョブを実行する。各ジョブを実行することにより、テスト遂行に必要なパラメータが様々に指定される。ＣＰＵ２４は、テストプログラム３０が指定するパラメータを、組み込みソフトウェア２６を用いて、レジスタ２２Ａ、２２Ｂに順次設定する。言い換えれば、レジスタ２２Ａ、２２Ｂに設定されるパラメータは、テストプログラム３０の進行に伴って様々に変化する。
【００１８】
テスタコントローラ１４に含まれる制御部３２は、テストプログラム３０を読み込んで、ＩＣテスタにテストを遂行させる制御装置である。
【００１９】
制御部３２に接続されたパラメータ管理システム３４は、制御部３２に読み込まれたテストプログラム３０からのテスト用コマンド３６を中継してテストヘッド１２に送信する装置である。パラメータ管理システム３４は、テスト用コマンド３６をテストヘッド１２に中継する際、ＣＰＵ２４への指示コマンド３８をテストヘッド１２に送信する。
【００２０】
この指示コマンド３８を受けたＣＰＵ２４は、組み込みソフトウェア２６を用いて、レジスタ２２Ａ、２２Ｂに、テストプログラム３０が指定するパラメータを設定するとともに、設定したパラメータ４０をパラメータ管理システム３４に返信する。そして、パラメータ管理システム３４におけるモードが後述するリファレンスパラメータ保存モードに設定されている場合、パラメータ管理システム３４は、返信されたパラメータ４０を、リファレンスパラメータ４４としてハードディスクに保存する。一方、パラメータ管理システム３４におけるモードが、後述するディグレードチェックモードに設定されている場合、パラメータ管理システム３４は、返信されたパラメータ４０と、過去に保存したリファレンスパラメータ４４とを比較する。比較した結果は、制御部３２に返信し、制御部３２によって表示装置１７に表示させる。
【００２１】
以上のように構成されたＩＣテスタシステム１０の動作について、以下、図２を用いて説明する。図２はＩＣテスタシステム１０によって実行される、組み込みソフトウェアのデバッグ方法の一例を示すフローチャートである。まずユーザが作成したテストプログラム３０をハードディスク３０から制御部３２にロードする（ステップＳ５０）。次に、データ取得モードの一覧を表示し、ユーザにデータ取得モードを選択させる（ステップＳ５２）。データ取得モードには、先に述べたリファレンスパラメータ保存モードとディグレードチェックモードとがある。前者は、組み込みソフトウェア２６によってレジスタ２２Ａ、２２Ｂに設定されるパラメータを、リファレンスパラメータ４４として保存するモードである。そして後者は、予め保存しておいたリファレンスパラメータ４４と、現在の組み込みソフトウェアによって設定される新しいパラメータとを比較するモードである。この比較によって、現在の組み込みソフトウェアの品質が確認されることとなる。
【００２２】
次にテストプログラム３０を実行する（ステップＳ５４）。図３は、テストプログラム３０の実行に伴って、パラメータ管理システム３４が行う処理を、リファレンスパラメータ保存モードとディグレードチェックモードとに分けて示す工程図である。テストプログラム３０は、図３に示すように、複数のジョブ３０Ａ〜３０Ｇを実行する。なお、ジョブは図示の便宜上、限られた数しか示していないが、自由に増減させてよいことは言うまでもない。
【００２３】
各ジョブ３０Ａ〜３０Ｇを実行することにより、一連のテストに必要なパラメータが、レジスタ２２Ａ、２２Ｂに設定される（ステップＳ５６）。例えばジョブ３０Ａは初期設定を行い、各レジスタ２２Ａ、２２Ｂに初期パラメータを設定する。ジョブ３０Ｂは被試験デバイスに応じたパラメータを指定し、ジョブ３０Ｃは、指定したパターンデータを入力して被試験デバイスからの出力を測定する。このように、レジスタ２２Ａ、２２Ｂには、各ジョブが実行されることにより、テスタピンに設定すべき電流・電圧値が設定されたり、被試験デバイス入力すべきパターンデータが設定されたり、被試験デバイスから測定した出力データが設定されたりする。
【００２４】
このようにレジスタ２２Ａ、２２Ｂに設定されたパラメータは、さらに、図３に示すように、各ジョブの実行に同期して、パラメータ管理システム３４によって取得する（ステップＳ５６）。
【００２５】
次に、ステップＳ５２にて選択されたデータ取得モードに応じて、ＩＣテスタシステム１０の動作は条件分岐する（ステップＳ５８）。リファレンスパラメータ保存モードを選択した場合は、パラメータ管理システム３４が取得したパラメータを、リファレンスパラメータ４４としてハードディスク１６に保存する（ステップＳ６０）。これは正常な組み込みソフトウェアを用いて設定されたパラメータであり、将来、組み込みソフトウェアが更新された場合に新たに得られるパラメータと比較されることとなる。
【００２６】
上述のリファレンスパラメータ４４の保存は、図３のジョブ３０Ａ〜３０Ｇ各々の実行に同期して、ジョブが実行されるたびに行うとよい。また、図３のブロック３４Ａ〜３４Ｇに示すように、リファレンスパラメータ４４を、正常な組み込みソフトウェアを用いて設定されたパラメータの初期パラメータおよび順次レジスタ２２Ａ、２２Ｂに設定される過程で変化した差分データとして保存するとよい。テストプログラム３０の各ジョブ３０Ａ〜３０Ｇが実行されるたびに、すべてのレジスタに設定されている正常な組み込みソフトウェアを用いて設定されたパラメータをリファレンスパラメータ４４として保存すると、ハードディスク１６に必要な記憶容量が膨大となるからである。
【００２７】
一方、ディグレードチェックモードを選択した場合には、現行の組み込みソフトウェアに品質劣化がないかを確認することとなる。その場合、パラメータ管理システム３４は、テストプログラム３０によって指定され、過去の組み込みソフトウェアによってレジスタ２２Ａ、２２Ｂに設定された、順次変化するリファレンスパラメータ４４を、それが保存されているハードディスク１６から読み出す（ステップＳ６２）。
【００２８】
そして、リファレンスパラメータ４４と、ステップＳ５６にて現行の組み込みソフトウェアによってレジスタ２２Ａ、２２Ｂに設定されパラメータ管理システム３４が取得したパラメータ、すなわち、現行のデバッグ対象の組み込みソフトウェアを用いて設定されたレジスタパラメータとを比較し、相違を検出する（ステップＳ６４）。この比較も、図３のブロック３４Ｈ〜３４Ｎに示すように、ジョブ３０Ａ〜３０Ｇ各々の実行に同期して行い、相違を検出するとよい。
【００２９】
比較の結果、同一のジョブを実行した時点において、リファレンスパラメータ４４と、デバッグ対象の組み込みソフトウェアを用いて設定されたレジスタパラメータとに一致しない部分がなければ、システム３４は、かかる結果を制御部３２に返信し、ディグレードがないことを表示装置１７に表示させる（ステップＳ６８）。一方、一致しないパラメータがあれば、FAIL情報を表示する。具体的には、一致しないパラメータが発見されたジョブ、一致しないパラメータの内容、そのパラメータが設定されているレジスタのアドレス等を表示する。かかる情報により、組み込みソフトウェアが更新された際に、品質劣化（ディグレード）したことを確認でき、また、組み込みソフトウェアのうちディグレードが生じた部位を判断することが容易になる。
【００３０】
図４は、専用の検証プログラムを用いて組み込みソフトウェアの品質を確認する方式を示すブロック図であり、本願発明の実施形態と比較される方式である。図５は、図４に示す方式で組み込みソフトウェアの品質を確認する際の動作フローチャートである。図４のテストヘッド１２の構成は、図１に示すものと同様である。図４の方式を図１に示す本発明の実施形態と比較すると、図４では、まず、図５に示すように、組み込みソフトウェアが組み込まれている対象モジュールを選択する必要がある（ステップＳ８０）。そして選択したモジュールに専用の検証プログラム１１０をテスタコントローラ１００に読み込み、実行する（ステップＳ８２）。
【００３１】
これによって、対象モジュールに組み込まれた組み込みソフトウェアの品質を判定する（ステップＳ８４）。すなわち、検証プログラム１１０に含まれるレジスタパラメータ取得ルーチン１２０によって、レジスタ２２Ａ、２２Ｂのパラメータが読み出され、期待値との比較ルーチン１３０によって、期待値との比較が行われる。期待値と一致していなければディグレードが生じていると判定する。かかる判定は、対象モジュールの判定がすべて終了するまで繰り返される（ステップＳ８５）。
【００３２】
図４の方式では、組み込みソフトウェア２６の品質の検証を目的とした専用検証プログラム１１０を実行することでしか、組み込みソフトウェア２６の品質を確認することができないため、テスタの稼働率を下げてしまうという問題がある。また、対象モジュールを選択する点も煩雑である。
【００３３】
一方、図１に示す本発明の実施形態によれば、テストプログラムの実行に同期して組み込みソフトウェアのデバッグを行うため、ＩＣテスタの稼働率を下げるという問題は生じない。また、テストプログラムを実行することによって、品質を確認すべき組み込みソフトウェアが組み込まれているモジュールは、自動的に選択されることとなるため、モジュール選択の煩雑さがなく、よりユーザフレンドリーなデバッグ方法となっている。
【産業上の利用可能性】
【００３４】
本発明は、ＩＣテスタに組み込まれる組み込みソフトウェアのデバッグ方法に適用可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明による組み込みソフトウェアのデバッグ方法を適用するＩＣテスタシステムのブロック図である。
【図２】図１に示すＩＣテスタシステムによって実行される、組み込みソフトウェアのデバッグ方法の一例を示すフローチャートである。
【図３】図１に示すテストプログラムの実行に伴って、パラメータ管理システムが行う作業を、リファレンスパラメータ保存モードとディグレードチェックモードとに分けて示す工程図である。
【図４】専用の検証プログラムを用いて組み込みソフトウェアの品質を確認する方式を示すブロック図である。
【図５】図４に示す方式で組み込みソフトウェアの品質を確認する際の動作フローチャートである。
【符号の説明】
【００３６】
１０  ＩＣテスタシステム
１２  テストヘッド
１４  テスタコントローラ
１８  ピンエレクトロニクス
２２Ａ、２２Ｂ  レジスタ
２６  組み込みソフトウェア
３０  テストプログラム
３１  被試験デバイス
３４  パラメータ管理システム
４４  リファレンスパラメータ
【図１】
2008089493.tif 000003
【図２】
2008089493.tif 000004
【図３】
2008089493.tif 000005
【図４】
2008089493.tif 000006
【図５】
2008089493.tif 000007