(57)【特許請求の範囲】
【請求項１】
メモリを備えるコンピュータに所定の動作を実行させるためのプログラムであって、
前記メモリは、被テスト回路をテストするための入力パタンをテスタで使用される固有のテストプログラムに変換する際に得られる変換情報が記憶されたものであって、
前記変換情報を前記メモリから読出し、前記固有のテストプログラムにより前記被テスト回路をテストした結果得られる固有の結果情報を、前記変換情報を参照して前記入力パタンに対応付けた形式の標準結果情報に変換するステップを有するプログラム。
【請求項２】
前記変換情報は、前記固有のテストプログラムに変換する際に得られる固有の変換情報が前記入力パタンに対応付けられた形式とされた共有変換情報であって、
前記標準結果情報へ変換するステップでは、前記共通変換情報を前記メモリから読出し、当該共通変換情報を参照して前記固有の結果情報を前記標準結果情報に変換する
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記共通変換情報は、各テスタで使用される固有のプログラム言語には依存しないフォーマットからなる
ことを特徴とする請求項２記載のプログラム。
【請求項４】
前記共通変換情報は前記テストプログラムに挿入されている
ことを特徴とする請求項２記載のプログラム。
【請求項５】
前記標準結果情報は、テスタ機種固有の情報が削除されたものである
ことを特徴とする請求項１記載のプログラム。
【請求項６】
前記標準結果情報は、前記被テスト回路における不良発生箇所を特定する情報を含む
ことを特徴とする請求項１記載のプログラム。
【請求項７】
前記入力パタンは、前記被テスト回路の論理シミュレーションで使用されたテストパタンであって、
前記標準結果情報は、前記不良発生箇所を特定する情報として、前記入力パタンと同一形式のアドレス情報を含む
ことを特徴とする請求項６記載のプログラム。
【請求項８】
前記入力パタンを、前記被テスト回路をテストするための前記固有のテストプログラムに変換するステップを更に有する
ことを特徴とする請求項１記載のプログラム。
【請求項９】
前記固有のテストプログラムに変換するステップでは、前記入力パタンが各テスタで使用されるプログラム言語に固有のテストプログラムに変換される
ことを特徴とする請求項８記載のプログラム。
【請求項１０】
被テスト回路をテストするための入力パタンをテスタで使用される固有のテストプログラムに変換した際に得られる変換情報が当該入力パタンに対応付けられた形式とされた共通変換情報を保持するメモリと、
前記共通変換情報を参照し、前記固有のテストプログラムにより前記被テスト回路をテストした結果得られる固有の結果情報を、前記入力パタンに対応付けた形式の標準結果情報に変換する標準結果情報変換部とを有するログ生成装置。
【請求項１１】
前記変換情報に基づき前記共通変換情報を生成する共通変換情報生成部を更に有する
ことを特徴とする請求項１０記載のログ生成装置。
【請求項１２】
被テスト回路をテストするための入力パタンを変換し、テスタで使用される固有のテストプログラムを生成するテストプログラム生成装置と、
前記固有のテストプログラムにより前記被テスト回路をテストした固有の結果情報を、前記入力パタンに対応付けた形式の標準結果情報に変換するログ生成装置とを有し、
前記ログ生成装置は、
前記入力パタンから前記固有のテストプログラムを生成する際に得られる変換情報が前記入力パタンに対応付けられた形式とされた共通変換情報を保持するメモリと、
前記共有変換情報を参照し、前記固有の結果情報を、前記標準結果情報に変換する標準結果情報変換部とを有するログ生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は半導体装置（ＬＳＩ：large-scale integration）などの被テスト回路をテストしたテスト結果であるテスタログを作成するログ生成システム、ログ生成装置及びプログラムに関する。
【背景技術】
【０００２】
半導体装置の試験は、ＬＳＩテスタにテストプログラムを実行させることで行われるが一般に、ＬＳＩテスタへ入力する上記テストプログラムは試験対象の半導体装置の論理シミュレーションで使われたテストパタンを流用して作成することが知られている。更に、論理シミュレーションは、半導体装置の論理が記述されているハードウェア記述言語やネットリストとＣＡＤ（Computer Aided Design）ツールの１つである論理シミュレータとを用いて実施されている。
【０００３】
この論理シミュレーションで使用されたテストパタンは、そのままではＬＳＩテスタには入力することはできず、所定の形式のテストプログラムに変換する必要がある。これは、論理シミュレーションで使われるテストパタンがイベントベースであって、ＬＳＩテスタで扱えるテストプログラムはサイクルベースである等の理由による（例えば特許文献１参照）。イベントベースとは、注目する試験パタンの論理が反転するときの変換点（イベント）を時間経過に従って記述した形式のデータである。また、サイクルベースとは、各テストサイクルに通し番号がアドレスとして与えられ、各アドレス毎にテストサイクルの初期タイミングを初期位相と定義し、この初期位相からの時間をタイミングデータとして与えることによって試験パタン信号の開始点と終了点を記述した形式のデータである。
【０００４】
試験対象のＬＳＩ（以下、被テスト回路という。）をテストする場合には、論理シミュレーションで使用されたテストパタン及び期待値パタンをサイクルベースに変換し、ＬＳＩの良否の検証を行なう。ただし、イベントベースとサイクルベースとのデータ形式の違い等により、ＬＳＩテスタ用に生成されたテストパタン及び期待値パタンが、被テスト回路の不良等を正しく検出できるような所定のテストパタンにならないことがある。このため、例えば特許文献１に記載のテストパタン妥当性検証方法においては、サイクルベースに変換されたテストパタン及び期待値パタンの妥当性を、論理シミュレーションを使用して検証している。
【０００５】
ところで、被テスト回路をテストするＬＳＩテスタにおいては、ＬＳＩテスタメーカ各社から複数の機種がリリースされている。このため、各社で入力可能なテストプログラム（テストパタン（テストベクタ）を含む）のフォーマット（言語）は統一されておらず、テストプログラムはＬＳＩテスタ機種毎に準備する必要がある。
【０００６】
そこで、例えば特許文献２では、各機種ＬＳＩテスタに共通の情報が登録されたライブラリのデータ、及びＬＳＩの種類毎に固有の製品情報が登録された製品情報ファイルのうち、各機種ＬＳＩテスタのテストプログラムの生成に必要なデータを使用して、ＬＳＩテスタの機種毎に固有の各種テストプログラム言語から独立した共通言語のデータに変換する。そして、各機種ＬＳＩテスタのテストプログラムの生成に使用するための中間データを生成することで、各機種毎のテストプログラムの生成の容易化を図っている。
【特許文献１】特開２００１−２５５３５７号公報
【特許文献２】特開２０００−１６３２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
更に、ＬＳＩテスタの機種毎にテストプログラムのフォーマットが異なるため、各ＬＳＩテスタがテストしたテスト結果（以下、テスタログという。）のフォーマットも異なるものとなる。すなわち、論理シミュレーションで使用されたテストパタンを、ＬＳＩテスタに応じたテストプログラムに変換して被テスト回路の良否を検証すると、そのテスタログは、論理シミュレーションで使用された最初のテストパタンとは異なる形式のデータとなっており、テスタログを見ても上述の論理シミュレーションで使用されたテストパタンとどのように対応しているかが不明となる。したがって、テスト検証者は、別途各ＬＳＩテスタに応じたテスタログの解析装置又は変換ツール等を用意し、これを用いて解析する必要がある。または、設計者等が自らテスタログを解析し、故障箇所や原因を調査する必要があるという問題点がある。次に、この問題点について詳細に説明する。
【０００８】
論理シミュレーションを基に作成したテストパタンからＬＳＩテスタ用テストプログラムを作成する際には、特許文献１に記載されているイベントベースからサイクルベースへの変換以外にも、ＬＳＩテスタ固有の制約に対応するための変換が必要になる場合がある。このＬＳＩテスタ固有の制約の代表的なものとして、ＬＳＩテスタに搭載されているメモリ容量がある。
【０００９】
ＬＳＩテスタに搭載されているメモリ容量は限られているため、入力可能なテストプログラム、すなわちテストパタン数はメモリ容量により制限を受ける。メモリ容量制限の影響をもっとも受けやすいのは、スキャンチェーンを用いたテストパタンである。
【００１０】
図８（ａ）は、テスト対象となる回路（被テスト回路）の端子に与える値を列挙したサイクルベースのテストパタンを示す。図８（ａ）においてテストアドレスは、右図に示す各ピンへのパタンが記憶されたメモリのアドレスに対応する。メモリに格納された各ピンへのパタンを順次読み出し被テスト回路に供給する。各ピンへのパタンは、ピン番号０００１、０００２、・・・の各ピンへのパタンを示す。図８（ｂ）は、スキャンチェーンを用いたテストパタン（スキャンパタン）を示す。この例では、被テスト回路がＳＩＮ（スキャンイン）、ＦＦ（フリップフロップ）１〜ＦＦ１５、及びＳＯＵＴ（スキャンアウト）で構成されるスキャンチェーンを有している場合を示す。そして、このスキャンチェーンに対して、テストアドレス４、８を読み出したタイミングで図８（ｂ）のようなスキャンパタンをＳＩＮ経由でＦＦ１〜ＦＦ１５にセットする。例えばテストアドレス４を読み出したタイミングでＳＩＮからスキャンチェーンに１５ビットのスキャンパタンをセットする間、ＳＩＮ以外のピンには、図８（ａ）のテストアドレス４の各ピンへのパタンが繰り返し供給されることとなる。
【００１１】
図８（ａ）、図８（ｂ）のようなテストパタンを、ＬＳＩテスタ用の固有のテストプログラムに変換した例が図９（ａ）、図９（ｂ）である。以下の説明においては、図８に示すテストパタンをＥＤＡ（Electronic Design Automation）テストパタン、テストアドレスをＥＤＡアドレス、図９に示すテストアドレスをＴＥＳＴＥＲアドレスということとする。ＬＳＩテスタは、図９（ａ）に示すＴＥＳＴＥＲアドレス及び各ピンへのパタンに従って被テスト回路のテストを実行する。図９（ｂ）は、テスタに内蔵されているスキャン用メモリに格納されるデータを示す。
【００１２】
ここで、図９（ａ）のＴＥＳＴＥＲアドレス４、８には、ＬＳＩテスタがサポートしている制御コマンドの１つである"ＳＣＡＮ"コマンドが用いられている。ＳＣＡＮコマンドのフォーマットなどは各ＬＳＩテスタで異なるが、ＳＣＡＮコマンドの動作としては、テスタ上のスキャン用メモリに格納されている値を呼び出して、スキャンチェーンに与えるといったものが一般的である。すなわち、テスタは、テストアドレス４の"ＳＣＡＮ ｍｅｍ１  １"を読み出すと、これに従い、スキャン用メモリｍｅｍ１に格納されているＮｏ.１の値（図９（ｂ））を呼び出し、スキャンチェーンのＳＩＮへ供給する。そして、スキャンチェーンに対し、ＴＥＳＴＥＲアドレス４のスキャンパタンをセットする。なお、スキャンパタンをセットする間、ＳＩＮ以外の各ピンには、図９（ａ）のＴＥＳＴＥＲアドレス４の各ピンへのパタンが繰り返し供給される。
【００１３】
ところで、ＬＳＩテスタに内蔵されるスキャン用メモリの容量は、テスタ毎に異なる場合があり、その容量には上限がある。スキャン用メモリに格納するべきデータ容量は、スキャンチェーンの規模と、ＳＣＡＮコマンドが実行される回数に依存することになるが、このスキャンパタンのデータ容量がＬＳＩテスタのメモリ容量を超えてしまった場合は、スキャン用メモリに格納することができなくなる。よってテストプログラムを分割する必要がある。
【００１４】
次に、スキャン用メモリ制限を超えた場合について、図１０、図１１を参照して説明する。図１０は、スキャン用メモリに格納するべきスキャン用データを示す図である。図１１は、図１０に示すテストプログラムＳＣＡＮ＿ＰＡＴを分割したテストプログラムを示す図である。
【００１５】
本例においては、スキャン用メモリ容量（メモリ制限）を１５０（ｂｉｔ）とする。一方、スキャンパタンは、図８に示すように、テストアドレス４,８,・・・,８０の計２０パタンあり、更にスキャンチェーンは、１５段のフリップフロップから構成されているものとする。この場合、１つスキャンパタンで、１５（ｂｉｔ）のメモリ容量を消費することになるため、ＬＳＩテスタのメモリは、１０スキャンパタンしか格納することができない。すなわちテストアドレス４０までの１０回目のスキャンパタンでメモリ容量が一杯になり、テストアドレス４４以降、すなわち１１回目以降のスキャンパタンはメモリに格納できない。したがって、テストアドレス４４前でテストプログラムを分割する必要がある。
【００１６】
本例においては、テストアドレス１〜４３と、それ以降のテストアドレスとでテストプログラムＳＣＡＮ＿ＰＡＴを分割している。分割したテストプログラムをそれぞれテストプログラムＳＣＡＮ＿ＰＡＴ１、ＳＣＡＮ＿ＰＡＴ２とする。ここで、テストプログラムＳＣＡＮ＿ＰＡＴ２におけるＴＥＳＴＥＲアドレス４４以降のアドレスは、アドレスが１から開始されるよう変更される。本例における分割前のテストプログラムはＴＥＳＴＥＲアドレスは１〜８３とすると、分割されたテストプログラムＳＣＡＮ＿ＰＡＴ２の最初のＴＥＳＴＥＲアドレスは、４４ではなく１となり、同様に、例えばＴＥＳＴＥＲアドレス８０は３７となり、最終ＴＥＳＴＥＲアドレス８３は４０に変更される。こうして、テストプログラムが分割されることでＥＤＡアドレスとＴＥＳＴＥＲアドレスとにずれが生じる。
【００１７】
ＬＳＩテスタには、テストプログラムＳＣＡＮ＿ＰＡＴ１の入力後、ＳＣＡＮ＿ＰＡＴ２が入力されて被テスト回路のテストが行われる。図１２は、そのテスト結果（テスタログ）の一例を示す。この例では、ＳＣＡＮ＿ＰＡＴ１のＴＥＳＴＥＲアドレス８、ＳＣＡＮ＿ＰＡＴ２のＴＥＳＴＥＲアドレス１、５で期待値不一致（本例では、Ｕが期待値不一致を意味する）が発生していることを示している。
【００１８】
ここで、ＬＳＩテスタでの被テスト回路のテストの結果、期待値不一致、すなわち故障が検出された場合は故障解析を実施することになるが、この故障解析は主にＬＳＩ設計者がハードウェア記述言語やネットリストと、ＬＳＩテスタのテストプログラムの作成元となったＥＤＡテストパタン（サイクルパタン、スキャンパタン）とを比較しつつ行うことになる。しかしながら、ＬＳＩテスタのメモリ容量等を考慮して作成されるテストプログラムにおいては、例えばＴＥＳＴＥＲアドレスが図８に示すＥＤＡアドレスと１対１に対応しない。このため、ＬＳＩ設計者が論理シミュレーションを基に作成した基のＥＤＡテストパタンのフォーマットに戻す必要が生じ、故障解析に多大な工数がかかってしまうという課題が生じる。
【００１９】
また、ＳＣＡＮコマンドなどの制御コマンドは、各ＬＳＩテスタ毎にコマンド名、フォーマット、制限等が異なるため、テストを実施したＬＳＩテスタ毎に異なるフォーマットのテスタログが得られることとなり、これらをその都度、基のＥＤＡテストパタンに読み替えながら故障解析をしなければならなくなり、更に工数がかかってしまうという問題点もある。
【課題を解決するための手段】
【００２０】
本発明にかかるプログラムは、メモリを備えるコンピュータに所定の動作を実行させるためのプログラムであって、前記メモリは、被テスト回路をテストするための入力パタンをテスタで使用される固有のテストプログラムに変換する際に得られる変換情報が記憶されたものであって、前記変換情報を前記メモリから読出し、前記固有のテストプログラムにより前記被テスト回路をテストした結果得られる固有の結果情報を、前記変換情報を参照して前記入力パタンに対応付けた形式の標準結果情報に変換するステップを有するものである。
【００２１】
本発明にかかるログ生成システムは、被テスト回路をテストするための入力パタンを変換し、テスタで使用される固有のテストプログラムを生成するテストプログラム生成装置と、前記固有のテストプログラムにより前記被テスト回路をテストした固有の結果情報を、前記入力パタンに対応付けた形式の標準結果情報に変換するログ生成装置とを有し、前記ログ生成装置は、前記入力パタンから前記固有のテストプログラムを生成する際に得られる変換情報が前記入力パタンに対応付けられた形式とされた共通変換情報を保持するメモリと、前記共有変換情報を参照し、前記固有の結果情報を、前記標準結果情報に変換する標準結果情報変換部とを有するものである。
【００２２】
本発明においては、入力パタンを固有のテストプログラムに変換する際の変換情報を参照し、固有のテストプログラムの実行結果である結果情報を、入力パタンに対応づけた形式の標準結果情報に変換するため、テスタが固有のテストプログラムを用いて被テスト回路をテストした場合であっても、常に入力パタンに対応付けられた形式で結果情報が得られる。
【発明の効果】
【００２３】
本発明によれば、ＬＳＩテスタの機種によらず、標準化されたテスト結果を得ることができるログ生成システム、ログ生成装置及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。図１は、本実施の形態にかかる標準テスタログ生成システムを示す模式図である。図１に示すように、本実施の形態にかかる標準テスタログ生成システム（ログ生成システム）１は、テストプログラム生成装置２０と、標準テスタログ生成装置（ログ生成装置）１０とを有する。
【００２５】
入力パタンとなるテストパタンＴＰは、例えば論理シミュレーションを基に作成された、例えばサイクルパタン及びスキャンパタンからなるテストパタンであり、本実施の形態においては、これをＥＤＡテストパタンということとする。テストプログラム生成装置２０は、ＥＤＡテストパタンＴＰからＬＳＩテスタに固有のテストプログラム（テストパタン（テストベクタ）を含む）を生成する。なお、図１には、３つのＬＳＩテスタＡ〜Ｃについてのテスタログの標準化（共通フォーマット化）を行なうログ生成システム１を示すが、扱うＬＳＩ機種は３以上であってもよいことは勿論である。図１においては、テストプログラム生成装置２０は、各ＬＳＩテスタＡ〜Ｃに応じた固有のテストプログラムＡ〜Ｃを生成する変換部２１Ａ〜２１Ｃを有する。
【００２６】
変換部２１Ａ〜２１Ｃは、ＥＤＡテストパタンＴＰを各ＬＳＩテスタＡ、Ｂ、Ｃに応じたテストプログラムＡ、Ｂ、Ｃに変換する。ここで、上述したように、各ＬＳＩテスタは、それぞれテスタに応じたプログラム言語によるテストプログラムを使用する必要があり、またメモリ容量、ループ回数等テスタ固有の制限を有している。したがって、通常、試験対象のＬＳＩの論理シミュレーションで使われたＥＤＡテストパタンＴＰをそのまま使用してＬＳＩのテストを実行することができない。よって、変換部２１Ａ〜２１Ｃは、各ＬＳＩテスタのプログラム言語、メモリ容量等を考慮し、ＥＤＡテストパタンＴＰを適切な形式に変換する。本明細書においては、ＥＤＡテストパタンＴＰを、被テスト回路のテストを実行させるため、各ＬＳＩテスタに応じた形式に変換したもの（テストベクタやコマンド等を含む。）をテストプログラムという。
【００２７】
各変換部２１Ａ〜２１Ｃが変換したテストプログラムＡ、Ｂ、Ｃは、それぞれメモリ２２Ａ〜２２Ｃに格納される。また、テストパタンＴＰをテストプログラムＡ〜Ｃに変換した際の変換情報は変換ログとしてそれぞれメモリ２３Ａ〜２３Ｃに格納される。
【００２８】
各ＬＳＩテスタ３１Ａ〜３１Ｃには、テストプログラム生成装置２０からテストプログラムＡ〜Ｃが供給される。ＬＳＩテスタ３１Ａ〜３１ＣはテストプログラムＡ〜Ｃに従って被テスト回路（ＬＳＩ）のテストを実行する。各テスタに固有のテスト結果として得られる結果情報としてのテスタログＡ〜Ｃは、それぞれのメモリ３２Ａ〜３２Ｃへ保存される。なお、本実施の形態においては、テストプログラム生成装置２０は各ＬＳＩテスタとは異なるものとして説明するが、各ＬＳＩテスタがそれぞれテストプログラム生成装置２０、すなわちＥＤＡテストパタンＴＰからテストプログラムへ変換する変換部２１Ａ〜２１Ｃの機能を有するようにしてもよい。その場合には、変換ログはＬＳＩテスタからログ生成装置１０へ供給するようにすればよい。また、後述するように、ログ生成装置１０には必要に応じてテストプログラムも供給される。
【００２９】
ログ生成装置１０は、共通変換情報生成部としての共通ログ作成部１１、共通ログメモリ１２、及び標準結果情報変換部としてのログ変換部１３を有している。共通ログ作成部１１は、テストパタンＴＰ及び変換ログＡ〜Ｃに基づき後述する共有変換情報である共通ログを生成して共通ログメモリ１２へ格納する。ログ変換部１３は、共通ログメモリ１２の共通ログを参照し、テスタログメモリ３２Ａ〜３２Ｃに格納されているテスタログＡ〜Ｃを、標準結果情報としての標準テスタログＡ〜Ｃに変換する。標準テスタログＡ〜Ｃは、テストパタンＴＰに対応する形式であって、統一されたフォーマット形式を有する。なお、ログ生成装置１０ではなく、例えばテストプログラム生成装置２０に共通ログ作成部１１を有するようにしてもよい。この場合は、共通ログをログ生成装置１０へ送るようにすればよい。本ログ生成システム１により、各ＬＳＩテスタによるテスタログがＥＤＡテストパタンに対応した形式の標準テスタログとして得られるため、ＬＳＩの故障検出が高効率化される。
【００３０】
次に、本実施の形態にかかるログ生成システム１について詳細に説明する。図２及び図３は、それぞれテストプログラム生成装置２０、ログ生成装置１０の動作を示すフローチャートである。ここで、本実施の形態においては、被テスト回路をテストするための入力パタンとして、図８（ａ）に示すサイクルパタン及び図８（ｂ）に示すスキャンパタンからなるテストパタンをＥＤＡテストパタンＴＰとして使用する場合について説明する。
【００３１】
変換部２１Ａ〜２１Ｃは、ＥＤＡテストパタンＴＰを入力として（ステップＳ１）、各ＬＳＩテスタ３１Ａ〜３１Ｃの制約、例えばＳＣＡＮ用メモリ容量、ループ回数などを考慮しつつ、各ＬＳＩテスタにて使用されるテストプログラム言語に合わせてＥＤＡテストパタンＴＰを変換し、テストプログラムＡ〜Ｃを作成する（ステップＳ２）。
【００３２】
こうして、図８（ａ）に示すサイクルパタン、図８（ｂ）に示すスキャンパタンは、例えば図９（ａ）、図９（ｂ）に示すテストプログラムに変換される。なお、以降の説明においては、図８に示すＥＤＡテストパタンＴＰにおけるテストアドレスをＥＤＡアドレス、図９に示すテストプログラムにおけるテストアドレスをＴＥＳＴＥＲアドレスという。ここで、図８（ｂ）に示すように、スキャンチェーンは、１５段のフリップフロップから構成されており、図９（ｂ）に示すテスタ内蔵スキャン用メモリに格納されるスキャン用データは、テストアドレス４,８,・・・,８０の計２０パタン（図１０参照）からなるものとする。
【００３３】
ところで、上述したように、ＬＳＩテスタは、通常、テスタ供給メーカ毎で固有のプログラム言語が使用され、またメモリ容量等、各テスタ機種毎で固有の制約を有する。ここでは、本実施の形態におけるＬＳＩテスタ３１Ａのスキャン用メモリ容量（メモリ制限）が１５０（ｂｉｔ）である場合について説明する。この場合、ＬＳＩテスタ３１Ａのスキャン用メモリには、上記スキャン用データのうち、アドレス４０までの１５０ビットのデータしか一度に格納することができない。このように、スキャン用メモリに格納するべきデータ容量は、スキャンチェーンの規模と、ＳＣＡＮコマンドが実行される回数に依存することになるが、このデータ容量がメモリ容量を超えてしまった場合は、スキャン用メモリに格納することができなくなる。よってテストプログラムを分割する。
【００３４】
そこで、本例においては、変換部２１Ａは、例えば、ＥＤＡテストパタンＴＰから図１１（ａ）、（ｂ）に示すように、ＴＥＳＴＥＲアドレス１〜４３と、それ以降のＴＥＳＴＥＲアドレスとで分割し、テストプログラムＳＣＡＮ＿ＰＡＴ１、ＳＣＡＮ＿ＰＡＴ２としたテストプログラムＡを生成することとする。ここで、分割されたテストプログラムＳＣＡＮ＿ＰＡＴ２において、ＥＤＡテストパタンにおけるテストアドレス４４（ＥＤＡアドレス）（＝テストプログラムＳＣＡＮ＿ＰＡＴにおけるＴＥＳＴＥＲアドレス４４）は１に変換される。同じく、ＥＤＡアドレス８０はテストプログラムＳＣＡＮ＿ＰＡＴ２においてはＴＥＳＴＥＲアドレス３７に、最終のＥＤＡアドレス８３はＴＥＳＴＥＲアドレス４０に変換される。変換ログメモリ２３Ａ〜２３Ｃには、このような、変換した際の変換規則等の情報が変換対象のパタン名、パタン数などと共に変換ログＡ〜Ｃとして格納される（ステップＳ３）。
【００３５】
そして、本実施の形態においては、共通ログ作成部１１が、テストパタンＴＰ、及び各変換部２１Ａ〜２１ＣがテストプログラムＡ〜Ｃを生成した際に得られる変換ログＡ〜Ｃを入力とし（ステップＳ１１）、ＥＤＡテストパタンＴＰが各変換部２１Ａ〜２１Ｃにおいて、それぞれテストプログラムＡ〜Ｃにどのように変換されたかを示す共通ログＡ〜Ｃを作成する（ステップＳ１２）。
【００３６】
共通ログは、テストパタンＴＰと各変換ログとから、各ＬＳＩテスタのテストプログラム言語に依存しない形式で作成される。ログ変換部１３は、ＬＳＩテスタに応じて対応する共通ログを参照し、各テスタログをそれぞれ標準テスタログに変換する。この共通ログには、ＥＤＡテストパタンから各プログラム言語に対応するテストプログラムへどのようにパラメータが変換されかの変換方法、対応関係が記述される。このため、ログ変換部１３は、ＬＳＩテスタに対応する共通ログを参照することでＥＤＡテストパタンＴＰをテストプログラムを生成する際にどのように変換したかを把握することができる。
【００３７】
次に、共通ログに含まれる情報について具体的に説明する。図４は、共通ログを示す。各共通ログは、図４に示すように、例えば入力パタン情報、スキャン情報及びその他の情報などからなる。なお、ここでは、変換部２１Ａにより図８（ａ）、（ｂ）に示すＥＤＡテストパタンＴＰから図１１（ａ）、（ｂ）に示すテストプログラムＳＣＡＮ＿ＰＡＴ１、テストプログラムＳＣＡＮ＿ＰＡＴ２からなるテストプログラムＡを生成すると、図４に示す共通ログＡとして生成されるものとして説明するが、共通ログは、この他の情報を含むものであってもよい。
【００３８】
入力パタン情報は、パタンタイプ、パタン長、パタン名などを含み、変換に基づいて作成される。本例においては、図４に示すように、入力パタン情報として、
パタン名（ＰＡＴ＿ＮＡＭＥ）：ＳＣＡＮ＿ＰＡＴ１
タイプ（ＴＹＰＥ）：ＳＣＡＮ＿ＴＣＰＡＴ１（スキャンパタンあり、の意味）
パタン長（ＰＡＴ＿ＬＥＮＧ）：４３
や、
パタン名：ＳＣＡＮ＿ＰＡＴ２
タイプ：ＳＣＡＮ＿ＴＣＰＡＴ１
パタン長：４０
等の情報が記述される。
【００３９】
なお、上述のように、ＳＣＡＮ＿ＰＡＴ１、ＳＣＡＮ＿ＰＡＴ２は、元々１つＥＤＡテストパタンＴＰから作成されているため、パタンタイプが同一のＳＣＡＮ＿ＴＣＰＡＴ１となる。
【００４０】
また、スキャン情報は、スキャンチェーン数、スキャンチェーンサイズ、アドレスなどを含み、入力されたサイクルパタン、スキャンパタンに基づいて作成される。本例においては、図４に示すように、スキャン情報として、
タイプ（ＴＹＰＥ）：ＳＣＡＮ＿ＰＡＴ１
スキャンチェーン数（ＳＣＡＮＮＵＭ）：１
スキャンチェーンサイズ（ＳＩＺＥ）：１５
スキャンパタンが入力されるアドレス（ＴＩＭ＿ｎ）：４,８,１２・・・４０,４４・・・,８０
等の情報が記述される。
また、入力パタン情報及びスキャン情報以外のその他情報として、ＳＣＡＮ以外の制御コマンド、例えばＬＯＯＰコマンドなどの情報が含まれる。
【００４１】
一方、ＬＳＩテスタ３１Ａ〜３１Ｃは、それぞれ上述のようにして生成されたテストプログラムＡ〜Ｃに従ってＬＳＩのテストを実行し、所望のテスト結果が得られるか否か、すなわち試験対象のＬＳＩの良否判定を行なう。
【００４２】
例えば図１２に示すテスタログが、ＬＳＩテスタ３１ＡがプログラムＡによりＬＳＩのテストを実行した結果を示すものとする。テスタログには、テストプログラム名やフェイルアドレスなどが記録される。しかしながら、このテスタログは、ＬＳＩテスタ３１Ａに固有のフォーマットで記述される。すなわち、このテスタログとテストパタンＴＰとは例えばアドレス等が対応しておらず、テスタログに示されているフェイルアドレスがテストパタンＴＰにどのように対応しているかが不明である。
【００４３】
そこで、本実施の形態においては、ログ変換部１３が、これらの各ＬＳＩテスタ個別に得られるテスタログＡ〜Ｃを、テストパタンＴＰと同様のフォーマットに統一された形式のログ（標準テスタログ）に変換する（ステップＳ１３、Ｓ１４）。この際、ログ変換部１３は、上述の共通ログＡ〜Ｃを参照し、それぞれテスタログＡ〜Ｃを標準テスタログＡ〜Ｃに変換する。
【００４４】
図５は、標準テスタログの一例を示す図であって、図１２に示すテスタログＡをテストパタンＴＰと対応する形式に変換した標準テスタログＡを示す。図５に示すように、標準テスタログには、テストの結果と期待値とが一致しなかったテストプログラム名、ピン番号、アドレス、期待値照合結果（Ｕ）などが含まれる。
【００４５】
例えば変換前の図１２に示すテスタログには、以下の情報が記載される。
フェイル（期待値不一致）したテストプログラム名：ＳＣＡＮ＿ＰＡＴ１
フェイルアドレス：８
フェイル箇所：ＳＳＯ０１（１０１）
フェイルしたテストプログラム名：ＳＣＡＮ＿ＰＡＴ２
フェイルアドレス：１、５
フェイル箇所：ＳＳＯ０１の０００１（１ビット目）と００１０（１０ビット目）
ここで、ＳＳＯ０１（１０１）は、スキャンチェーンの出力ピンを示し、括弧内の１０１は、ＳＯＵＴのピン番号を示し、０００１（１ビット（ＦＦ１）目）と、００１０（１０ビット（ＦＦ１０）目）が期待値不一致であることを示す。
【００４６】
このようなテスタログは、ＬＳＩテスタの機種又は製造メーカ毎に固有のフォーマットとなる。例えば、ＬＳＩテスタＡは、テスタログＡ内にフェイルアドレスを「ＦＡＩＬ  ＡＤＤＲＥＳＳ」と記録し、ＬＳＩテスタＢは、テスタログＢ内にフェイルアドレスを「ＥＲＲＯＲ  ＡＤＤ」と記録する場合、これらの記載がフェイルアドレスに対応することを示す情報が共通ログに記載されている。また、テスタログに記録されるフェイルアドレス（ＴＥＳＴＥＲアドレス）は、ＥＤＡテストパタンＴＰにおけるＥＤＡアドレスをどのように変換したものであるかの情報等も記載されている。
【００４７】
ログ変換部１３は、共通ログを参照し各テスタログの中から上記情報を抽出してフォーマット変換し、所定の順序に配列する。例えば、各テスタログ固有のフェイルアドレスを抽出し、入力パタンであるテスタパタンＴＰと同じフォーマットのアドレスに変換する。
【００４８】
ここでは、図１２に示すテスタログをテスタログＡとし、ログ変換部１３が図５に示す標準テスタログに変換する場合について具体的に説明する。本実施の形態にかかる標準テスタログは、変換情報Ｆ１（図５左）と詳細情報Ｆ２ａ、Ｆ２ｂ（図５右）とからなる。なお、標準テスタログのフォーマットは本例に限らない。
【００４９】
図５に示す例においては、変換情報Ｆ１は、各テストプログラム毎にフェイル情報（ＦＡＩＬ＿ＩＮＦＯ）が記録される。フェイル情報には、スキャンパタン名（ＳＣＡＮ＿ＰＡＴ）、テストプログラムのファイル名（ＰＡＴ＿ＦＩＬＥ＿ＮＡＭＥ）、パタン長（ＰＡＴＨＬＥＮＧＴＨ）、不一致が発生した開始アドレス（ＴＥＳＴ＿ＰＡＴ＿ＳＴＡＲＴ）、不一致の発生が終了したアドレス（ＴＥＳＴ＿ＰＡＴ＿ＥＮＤ）などが記録される。変換情報Ｆ１は、これを入力とする、後段の解析装置において基本情報として参照されるなどする。
【００５０】
また、詳細情報Ｆ２ａ、Ｆ２ｂは、フェイルアドレスなどの細かい情報が記録される。本例においては、２つのテストプログラム（ＳＣＡＮ＿ＰＡＴ１、ＳＣＡＮ＿ＰＡＴ２）を実行し、各プログラムにおいてそれぞれ不一致が発生しているので、ＳＣＡＮ＿ＰＡＴ１に対応する詳細情報Ｆ２ａ、ＳＣＡＮ＿ＰＡＴ２に対応するＦ２ｂの２つが生成されている。この詳細情報Ｆ２ａ、Ｆ２ｂには、不一致が発生した部位の情報を以下の指標により示す。すなわち、テストアドレス（ＥＤＡアドレス（address eda）、ＴＥＳＴＥＲアドレス（address tester））、サイクル（ＥＤＡテストパタンＴＰにおけるサイクル（cycle eda）、テスタにおけるサイクル（cycle tester））、端子名（ponnname）、何番目に入力されたスキャンパタンであるか（scan_set）、スキャンチェーンにおける何番目のＦＦか（scan_bit）、モード名（mode）、期待値（exp）、及び期待値と不一致となった実測値（fail）などである。
【００５１】
この詳細情報Ｆ２ａ、Ｆ２ｂに示すように、ＥＤＡテストパタンとテストプログラムとの対応付けは、テストアドレスだけでなく、サイクル（cycle）でも行われる。サイクルとは、スキャンチェーンの長さも考慮した表現である。簡潔に表現すれば、アドレスｎのサイクル＝ｎ＋Σ（ｎ−１までのスキャンパタン数×スキャンチェーンの長さ）となる。
【００５２】
ログ変換部１３は、テスタログＡに対応する入力パタン情報、スキャン情報などを有する共通ログＡを参照する。そして、テスタログにおいて入力パタン情報、スキャン情報などがＥＤＡテストパタンＰＴからどのように変換されているかを把握する。例えば、テスタログＡ上の「ＳＣＡＮ＿ＰＡＴ２」は、入力されたＥＤＡテストパタンＴＰにおけるスキャンパタン「ＳＣＡＮ＿ＰＡＴ」（図１０参照）が分割されて作成された２番目のテストプログラムであること、１番目のテストプログラムＳＣＡＮ＿ＰＡＴ１はテストアドレス４３まであること、ＳＣＡＮ＿ＰＡＴ２のテストアドレス１は、分割前のテストパタンＴＰ上のテストアドレス４４に相当すること、などの情報をログ変換部１３は共通ログＡから取得する。そして、これらの変換情報に基づき、テスタログＡに記載されている例えばＴＥＳＴＥＲアドレスをＥＤＡテストパタンＴＰのＥＤＡアドレスへ変換するのである。本例においては、テスタログＡ上のＳＣＡＮ＿ＰＡＴ２でのテストアドレス１、５は、標準テスタログ上では、ＥＤＡテストパタンＴＰのＥＤＡアドレス４４、４８と求めることができる。
【００５３】
また、サイクルは以下のように変換される。すなわち、図１２に示すテスタログＡおいて、フェイルアドレスは、ＴＥＳＴＥＲアドレスで記録される。このテスタログＡを参照するに、テストプログラムＳＣＡＮ＿ＰＡＴ１においては、ＴＥＴＥＲアドレス８の１ビット目、すなわち１番目のＦＦにおけるスキャンパタン０００１、及び１０ビット目、すなわち１０番目のＦＦにおけるスキャンパタン００１０において期待値不一致（Ｕ）が発生している。ここで、共通ログＡを参照することで、ＳＣＡＮ＿ＰＡＴ１では、ＴＥＳＴＥＲアドレス８までには、スキャンパタンが１つ（アドレス４）あり、スキャンチェーンの長さが１５であることがわかり、テストアドレス８は、ＥＤＡテストパタンＴＰにおいては、ＥＤＡアドレス＝８、サイクル＝８＋１５＝２３であることがわかる。また、その１ビット目の０００１と１０ビット目の００１０において期待値不一致が発生しているため、ＥＤＡテストパタンＴＰ上では、サイクル２３及び３２（図５のcycle eda参照）というように変換が可能となる。こうして、ログ変換部１３により、各ＬＳＩテスタ固有のフォーマットのテスタログから、図５に示すような共通のフォーマットの標準テスタログに変換される。
【００５４】
テストプログラムＳＣＡＮ＿ＰＡＴ２の方も同様である。共通ログを参照することで、図１２において期待値不一致（Ｕ）が発生しているＴＥＳＴＥＲアドレス１、５は、１番目、２番目に入力スキャンパタンが入力されるアドレスであることがわかり、その１ビット目、１０ビット目であることから、テストプログラムにおけるサイクルは１、１０、２０、２９と求まる。そして、テストプログラムＳＣＡＮ＿ＰＡＴ２のサイクルが１９４から始まることから、テストプログラムにおける上記サイクル１、１０、２０、２９は、ＥＤＡテストパタンＴＰにおけるサイクル１９４、２０３、２１３、２２２というように変換することができる。
【００５５】
これらの情報が記録された標準テスタログを参照すれば、ＬＳＩ設計者は、ＬＳＩテスタで発生した期待値不一致が、テストパタンＴＰ、スキャンパタンのどこで発生しているのかが一目瞭然となる。
【００５６】
以上のような、変換部２１Ａ〜２１ＣにおけるテストパタンＴＰからテストプログラムＡ〜Ｃへの変換、共通ログ作成部１１における共通ログ作成、ログ変換部１３におけるログ変換の各処理は、コンピュータにプログラムを実行させることで行なわれる。図６は、コンピュータのハードウェア構成の一例を示すブロック図である。図６に示すように、コンピュータ１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２及びＲＡＭ（Random Access Memory）１０３を有し、これらがバス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インターフェイス１０５も接続されている。
【００５７】
入出力インターフェイス１０５には、キーボード、マウスなどよりなる入力部１０６、ＣＲＴ、ＬＣＤなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部１０７、ハードディスクなどより構成される記憶部１０８、モデム、ターミナルアダプタなどより構成される通信部１０９などが接続されている。
【００５８】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されているソフトウェアモジュールを構成する各種プログラム、又は記憶部１０８からＲＡＭ１０３にロードされたソフトウェアモジュールを構成する各種プログラムに従って各種の処理を実行する。ＲＡＭ１０３にはまた、ＣＰＵ１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００５９】
通信部１０９は、図示せぬインターネットを介しての通信処理を行ったり、ＣＰＵ１０１から提供されたデータを送信したり、通信相手から受信したデータをＣＰＵ１０１、ＲＡＭ１０３、記憶部１０８に出力する。記憶部１０８はＣＰＵ１０１との間でやり取りし、情報の保存・消去を行う。通信部１０９はまた、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
【００６０】
入出力インターフェイス１０５にはまた、必要に応じてドライブ１１０が接続され、磁気ディスク１１１、光ディスク１１２、フレキシビルディスク１１３、又は半導体メモリ１１４などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部１０８にインストールされる。
【００６１】
なお、テストプログラム生成装置２０、ログ生成装置１０における処理は異なるコンピュータにて実行されてもよいし、一のコンピュータにより実行されてもよい。また、共通ログ作成処理とログ変換処理とを異なるプログラムとしてコンピュータに実行させることも可能である。その場合、例えばテストプログラム生成装置２０内に共通ログ生成部を設けることも可能である。また、ログ変換部は、共通ログが参照できれば標準テスタログを生成することができる。すなわち、図１に示すログ生成システム１は、図７のように構成することも可能である。図７は、本実施の形態の変形例を示す図である。
【００６２】
図７に示すように、本変形例におけるログ生成システム４０は、ログ生成装置５０を有する。ログ生成装置５０は、共通ログ作成部５１、メモリ５２、及びログ変換部５３を有する。共通ログ作成部５１は、テストパタンＴＰ、変換ログＡ〜Ｃ及びテストプログラムＡ〜Ｃを使用する。なお、図１に示す共通ログ作成部１１も必要に応じてテストプログラムＡ〜Ｃをも参照し、共通ログを作成してもよい。
【００６３】
そして、この共通ログ作成部５１は、作成した共通ログを各テストプログラムＡ〜Ｃに例えばコメントとして挿入しておく。ＬＳＩテスタ３１Ａ〜３１Ｃは、共通ログが挿入されたそれぞれテストプログラムＡ〜Ｃを実行し、それぞれテスタログＡ〜Ｃを生成する。なお、この際、テスタログＡ〜Ｃにも共通ログを挿入しておいてもよい。
【００６４】
このようにテストプログラムに共通ログを挿入しておくことで、ログ変換部５３は、共通ログが挿入されたプログラムを参照してテスタログを標準テスタログに変換することができる。この場合、共通ログ作成部５１が作成したテストプログラムを参照してもよいが、ＬＳＩテスタで使用しているテストプログラムを参照することも可能である。また、各ＬＳＩテスタ３１Ａ〜３１Ｃ内にログ変換部を設けることも可能である。更に、テスタログＡ〜Ｃに共通ログ付加するようにすれば、ログ変換部５３は、各テスタログＡからそれぞれ標準テスタログＡ〜Ｃを生成することができる。
【００６５】
従来、複数のＬＳＩテスタを使用してテストを行うような場合には、それぞれのＬＳＩテスタに応じたテストプログラムが用意され、それぞれ異なるフォーマットのテスタログが出力されることとなり、よって、各テスタログを解析する解析装置等が別途必要であったが、本実施の形態においては、ログ変換部１３がテストパタンと共通のフォーマットであって、その後の解析に必要な情報のみを抽出した標準テスタログに自動変換するため、システムの小型化、高効率化、低コスト化を図ることができる。
【００６６】
標準テスタログを自動生成することで、各ＬＳＩテスタの出力結果であるテスタログと各ＬＳＩテスタ用テストプログラムを作成する元となったテストパタンＴＰとの対応が容易に取れる。これにより、各ＬＳＩテスタのテストプログラム言語、出力フォーマットを理解する必要がなくなり、ＬＳＩテスタによるテスト結果に基づいた検証作業にかかる工数を大幅に削減することが可能となる。
【００６７】
また、標準テスタログを入力とし、この後段における故障解析・診断ルーツへの入力を統一することができる。更に、標準テスタログは、テスタ固有の情報を削除したものとし、必要な情報のみを記述させるようにすることで、解析・診断に必要な情報のみを簡単に取り出せることができる。更にまた、フェイルアドレスは、テストパタンに対応した表記方法に変換される。つまり、ＥＤＡツールから出力されるテストパタンにおけるアドレスと同一の形式でフェイルアドレスが得られるため、ＥＤＡツールとの連携が容易化する。
【００６８】
更に、ＬＳＩテスタ固有のテスタログは、ＬＳＩテスタにて使用するテストプログラム（テストベクタ）におけるアドレス（ＴＥＳＴＥＲアドレス）でフェイルアドレスが表記されるが、標準テスタログにおいては、自動変換によりＥＤＡテスタパタンにおけるＥＤＡアドレスも表記されるため、ログ解析・故障解析の際に従来のように変換しなおす必要がなく、解析時間が短縮化する。
【００６９】
また、標準テスタログ生成装置は、標準テスタログ変換に必要な情報を共通のフォーマットの共通ログとして備えることで、テストパタンのフォーマットが変更になっても、又はＬＳＩテスタの変更等によりテスタログのフォーマットが変更になっても、ログ変換部１３は、同様の方法にて共通ログを参照し、所望の統一フォーマットとした標準テスタログに変換すればよい。
【００７０】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上述の実施の形態におけるテストプログラム生成、共通ログ作成、ログ変換の各処理は、ＣＰＵにコンピュータプログラムを実行させることにより実現することが可能であるが、この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態にかかるログ生成システムを示す模式図である。
【図２】本発明の実施の形態におけるテストプログラム生成装置の動作を示すフローチャートである。
【図３】本発明の実施の形態におけるログ生成装置の動作を示すフローチャートである。
【図４】本発明の実施の形態における共通ログ生成部が生成した共通ログの一例を示す図である。
【図５】本発明の実施の形態におけるログ変換部が生成した標準テスタログの一例を示す図である。
【図６】コンピュータのハードウェア構成の一例を示すブロック図である。
【図７】本発明の実施の形態の変形例を示す図である。
【図８】（ａ）は、テスト対象となる回路（被テスト回路）の端子に与える値を列挙したサイクルベースのテストパタンを示す図、（ｂ）は、スキャンチェーンを用いたテストパタン（スキャンパタン）を示す図である。
【図９】図８（ａ）、図８（ｂ）のようなテストパタンを変換したＬＳＩテスタ用の固有のテストプログラムの一例を示す図である。
【図１０】スキャン用メモリに格納するべきテストプログラム（スキャン用データ）を示す図である。
【図１１】図１０に示すテストプログラムを分割したテストプログラムを示す図である。
【図１２】テストプログラムの実行結果（テスタログ）の一例を示す図である。
【符号の説明】
【００７２】
１  ログ生成システム
１０  ログ生成装置
１１，５１  共通ログ作成部
１２，２２Ａ〜２２Ｃ，２３Ａ〜２３Ｃ，３２Ａ〜３２Ｃ  メモリ
１２，５２  共通ログメモリ
１３，５３  ログ変換部
２０  テストプログラム生成装置
２１Ａ〜２１Ｃ  変換部
３１Ａ〜３１Ｃ  テスタ
４０  ログ生成装置
１００  コンピュータ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  バス
１０５  入出力インターフェイス
１０６  入力部
１０７  出力部
１０８  記憶部
１０９  通信部
１１０  ドライブ
１１１  磁気ディスク
１１２  光ディスク
１１３  フレキシビルディスク
１１４  半導体メモリ
【図１】
0004464351.tif 000002
【図２】
0004464351.tif 000003
【図３】
0004464351.tif 000004
【図４】
0004464351.tif 000005
【図５】
0004464351.tif 000006
【図６】
0004464351.tif 000007
【図７】
0004464351.tif 000008
【図８】
0004464351.tif 000009
【図９】
0004464351.tif 000010
【図１０】
0004464351.tif 000011
【図１１】
0004464351.tif 000012
【図１２】
0004464351.tif 000013